Add scancode support to Travis; update .js with ASF approved license. (#51)

* Add scancode support to Travis; update .js with ASF approved license.

* Add scancode support to Travis; update .js with ASF approved license.

* Add scancode support to Travis; update .js with ASF approved license.

* Add scancode support to Travis; update .js with ASF approved license.
diff --git a/.travis.yml b/.travis.yml
index 52ad81f..3f80d95 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,3 +2,13 @@
 node_js:
   - "6"
   - "4"
+
+# before_install:
+  # - apt-get -y install python-pip
+  # - pip install --upgrade pip
+
+install:
+  - ./tools/travis/setupscan.sh
+
+script:
+  - ./tools/travis/scancode.sh
\ No newline at end of file
diff --git a/lib/actions.js b/lib/actions.js
index 75942af..0bda53a 100644
--- a/lib/actions.js
+++ b/lib/actions.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.
+
 'use strict'
 
 const messages = require('./messages')
diff --git a/lib/activations.js b/lib/activations.js
index 7bb76bb..2358262 100644
--- a/lib/activations.js
+++ b/lib/activations.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.
+
 'use strict'
 
 const BaseOperation = require('./base_operation')
diff --git a/lib/base_operation.js b/lib/base_operation.js
index f0a09b4..d8be106 100644
--- a/lib/base_operation.js
+++ b/lib/base_operation.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.
+
 'use strict'
 
 const names = require('./names')
diff --git a/lib/client.js b/lib/client.js
index 38b7453..45bef0c 100644
--- a/lib/client.js
+++ b/lib/client.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.
+
 'use strict'
 
 const messages = require('./messages')
diff --git a/lib/feeds.js b/lib/feeds.js
index 7a92adf..37954cd 100644
--- a/lib/feeds.js
+++ b/lib/feeds.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.
+
 'use strict'
 
 const messages = require('./messages')
diff --git a/lib/main.js b/lib/main.js
index 85a0935..6861c70 100644
--- a/lib/main.js
+++ b/lib/main.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.
+
 const Actions = require('./actions.js')
 const Activations = require('./activations.js')
 const Namespaces = require('./namespaces.js')
diff --git a/lib/messages.js b/lib/messages.js
index 49b3501..909721f 100644
--- a/lib/messages.js
+++ b/lib/messages.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.
+
 module.exports = {
   MISSING_FEED_NAME_ERROR: 'Missing mandatory feedName or id parameters from options.',
   MISSING_FEED_TRIGGER_ERROR: 'Missing mandatory trigger parameter from options.',
diff --git a/lib/names.js b/lib/names.js
index 64652e0..7aaba8f 100644
--- a/lib/names.js
+++ b/lib/names.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.
+
 const messages = require('./messages')
 
 const default_namespace = () => {
diff --git a/lib/namespaces.js b/lib/namespaces.js
index 6f66520..b07fa96 100644
--- a/lib/namespaces.js
+++ b/lib/namespaces.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.
+
 'use strict'
 
 const BaseOperation = require('./base_operation')
@@ -13,7 +16,7 @@
     }
 
     options = options || {}
-    const id = options.name || options.namespace 
+    const id = options.name || options.namespace
 
     if (!id) {
       throw new Error('Missing mandatory parameter: id or namespace.')
diff --git a/lib/openwhisk_error.js b/lib/openwhisk_error.js
index bec6dcd..73b26bc 100644
--- a/lib/openwhisk_error.js
+++ b/lib/openwhisk_error.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.
+
 'use strict';
 
 module.exports = function OpenWhiskError(message, error) {
diff --git a/lib/packages.js b/lib/packages.js
index 9935779..aaeaec2 100644
--- a/lib/packages.js
+++ b/lib/packages.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.
+
 'use strict'
 
 const Resources = require('./resources')
diff --git a/lib/resources.js b/lib/resources.js
index 3c4555f..15cf720 100644
--- a/lib/resources.js
+++ b/lib/resources.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.
+
 'use strict'
 
 const BaseOperation = require('./base_operation')
diff --git a/lib/routes.js b/lib/routes.js
index a7fc1b5..2e5c214 100644
--- a/lib/routes.js
+++ b/lib/routes.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.
+
 'use strict'
 
 const BaseOperation = require('./base_operation')
diff --git a/lib/rules.js b/lib/rules.js
index da38332..1606cba 100644
--- a/lib/rules.js
+++ b/lib/rules.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.
+
 'use strict'
 
 const Resources = require('./resources')
diff --git a/lib/triggers.js b/lib/triggers.js
index 555ee57..a0a88c0 100644
--- a/lib/triggers.js
+++ b/lib/triggers.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.
+
 'use strict'
 
 const Resources = require('./resources')
diff --git a/test/integration/actions.test.js b/test/integration/actions.test.js
index bf5e204..634ab10 100644
--- a/test/integration/actions.test.js
+++ b/test/integration/actions.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.
+
 'use strict'
 
 const test = require('ava')
@@ -9,7 +12,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/activations.test.js b/test/integration/activations.test.js
index fed912a..9f20661 100644
--- a/test/integration/activations.test.js
+++ b/test/integration/activations.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.
+
 'use strict'
 
 const test = require('ava')
@@ -8,7 +11,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/feeds.test.js b/test/integration/feeds.test.js
index 6f1bd44..0a5e5c8 100644
--- a/test/integration/feeds.test.js
+++ b/test/integration/feeds.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.
+
 'use strict'
 
 const test = require('ava')
@@ -9,7 +12,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/namespaces.test.js b/test/integration/namespaces.test.js
index 6bf1825..55e2590 100644
--- a/test/integration/namespaces.test.js
+++ b/test/integration/namespaces.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.
+
 'use strict'
 
 const test = require('ava')
@@ -8,7 +11,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/packages.test.js b/test/integration/packages.test.js
index 059d5dd..d671996 100644
--- a/test/integration/packages.test.js
+++ b/test/integration/packages.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.
+
 'use strict'
 
 const test = require('ava')
@@ -8,7 +11,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/routes.test.js b/test/integration/routes.test.js
index 6ae02fb..839eb0f 100644
--- a/test/integration/routes.test.js
+++ b/test/integration/routes.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.
+
 'use strict'
 
 const test = require('ava')
@@ -9,7 +12,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/rules.test.js b/test/integration/rules.test.js
index 22bcdda..d888ec2 100644
--- a/test/integration/rules.test.js
+++ b/test/integration/rules.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.
+
 'use strict'
 
 const test = require('ava')
@@ -9,7 +12,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/integration/triggers.test.js b/test/integration/triggers.test.js
index b976411..eea939b 100644
--- a/test/integration/triggers.test.js
+++ b/test/integration/triggers.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.
+
 'use strict'
 
 const test = require('ava')
@@ -8,7 +11,7 @@
 
 // check that mandatory configuration properties are available
 envParams.forEach(key => {
-  const param = `__OW_${key}` 
+  const param = `__OW_${key}`
   if (!process.env.hasOwnProperty(param)) {
     throw new Error(`Missing ${param} environment parameter`)
   }
diff --git a/test/unit/actions.test.js b/test/unit/actions.test.js
index 78cf16f..fbb98b7 100644
--- a/test/unit/actions.test.js
+++ b/test/unit/actions.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/activations.test.js b/test/unit/activations.test.js
index 3fb3572..d9607b5 100644
--- a/test/unit/activations.test.js
+++ b/test/unit/activations.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/base_operation.test.js b/test/unit/base_operation.test.js
index 063c5d0..f25aa43 100644
--- a/test/unit/base_operation.test.js
+++ b/test/unit/base_operation.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/client.test.js b/test/unit/client.test.js
index c7eaed3..b013260 100644
--- a/test/unit/client.test.js
+++ b/test/unit/client.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/feeds.test.js b/test/unit/feeds.test.js
index ac57c19..e93f30f 100644
--- a/test/unit/feeds.test.js
+++ b/test/unit/feeds.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.
+
 'use strict'
 
 const test = require('ava')
@@ -8,7 +11,7 @@
   const api_key = 'username:password'
   const trigger_name = '/trigger_ns/trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = '_'
   const feeds = new Feeds(client)
@@ -30,7 +33,7 @@
   const api_key = 'username:password'
   const trigger_name = 'trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = '_'
   const feeds = new Feeds(client)
@@ -53,7 +56,7 @@
   const api_key = 'username:password'
   const trigger_name = '/trigger_ns/trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = '_'
   const feeds = new Feeds(client)
@@ -75,7 +78,7 @@
   const api_key = 'username:password'
   const trigger_name = '/a/trigger_name'
   const client = {}
-  client.options = { api_key, namespace: 'global_ns' } 
+  client.options = { api_key, namespace: 'global_ns' }
 
   const ns = 'global_ns'
   const feeds = new Feeds(client)
@@ -97,7 +100,7 @@
   const api_key = 'username:password'
   const trigger_name = 'trigger_name'
   const client = {}
-  client.options = { api_key, namespace: 'global_ns' } 
+  client.options = { api_key, namespace: 'global_ns' }
 
   const ns = 'global_ns'
   const feeds = new Feeds(client)
@@ -119,7 +122,7 @@
   const api_key = 'username:password'
   const trigger_name = 'trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = 'custom'
   const feeds = new Feeds(client)
@@ -141,7 +144,7 @@
   const api_key = 'username:password'
   const trigger_name = '/a/trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = '_'
   const feeds = new Feeds(client)
@@ -163,7 +166,7 @@
   const api_key = 'username:password'
   const trigger_name = '/a/trigger_name'
   const client = {}
-  client.options = { api_key, namespace: 'global' } 
+  client.options = { api_key, namespace: 'global' }
 
   const ns = '_'
   const feeds = new Feeds(client)
@@ -185,7 +188,7 @@
   const api_key = 'username:password'
   const trigger_name = 'trigger_name'
   const client = {}
-  client.options = { api_key } 
+  client.options = { api_key }
 
   const ns = '_'
   const feeds = new Feeds(client)
diff --git a/test/unit/names.test.js b/test/unit/names.test.js
index 2ce9b86..f9aaeae 100644
--- a/test/unit/names.test.js
+++ b/test/unit/names.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/namespaces.test.js b/test/unit/namespaces.test.js
index 44db277..1c7b03e 100644
--- a/test/unit/namespaces.test.js
+++ b/test/unit/namespaces.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/packages.test.js b/test/unit/packages.test.js
index 4f57c33..8fcb2fc 100644
--- a/test/unit/packages.test.js
+++ b/test/unit/packages.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/resources.test.js b/test/unit/resources.test.js
index fa8b287..88452bb 100644
--- a/test/unit/resources.test.js
+++ b/test/unit/resources.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/routes.test.js b/test/unit/routes.test.js
index 567420f..b300f27 100644
--- a/test/unit/routes.test.js
+++ b/test/unit/routes.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/rules.test.js b/test/unit/rules.test.js
index 8ba9501..d1365c1 100644
--- a/test/unit/rules.test.js
+++ b/test/unit/rules.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.
+
 'use strict'
 
 const test = require('ava')
diff --git a/test/unit/triggers.test.js b/test/unit/triggers.test.js
index 944c873..81e3933 100644
--- a/test/unit/triggers.test.js
+++ b/test/unit/triggers.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.
+
 'use strict'
 
 const test = require('ava')
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