Add scancode (#9)

* Add scancode.sh

* Run scancode before running ci tests

* Add .gitignore

* Update files according to the scancode.sh
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index a38f698..1b6d4b4 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -40,5 +40,8 @@
         node-version: ${{ matrix.node-version }}
     - run: sudo apt-get install xvfb
     - run: npm ci
+    - name: Run scancode
+      run: |
+        ./travis/scancode.sh
     - run: xvfb-run --auto-servernum npm test
 
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a7ebae8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,27 @@
+# Eclipse
+bin/
+**/.project
+.settings/
+.classpath
+.cache-main
+.cache-tests
+
+# Linux
+*~
+*.swp
+
+# Mac
+.DS_Store
+
+# NodeJS
+node_modules
+
+# IntelliJ
+.idea
+*.class
+*.iml
+out/
+
+# VSCode
+.vscode/
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c539b15..b105d6f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,22 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
 # Change Log
 
 All notable changes to the "openwhisk-vscode-extension" extension will be documented in this file.
@@ -6,4 +25,4 @@
 
 ## [Unreleased]
 
-- Initial release
\ No newline at end of file
+- Initial release
diff --git a/README.md b/README.md
index a3c4836..e71894e 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,22 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
 # OpenWhisk VSCode Extension
 
 An **openwhisk-vscode-extension** is an open-source VSCode extension for [Apache OpenWhisk](https://openwhisk.apache.org/). It manages the wskdeploy manifest file and makes deployment easy. You can also create and update actions and packages in VSCode.
@@ -49,7 +68,7 @@
 code ./openwhisk-vscode-extension # Open openwhisk-vscode-extension in VSCode
 ```
 
-Press `F5` button(run debug)  
+Press `F5` button(run debug)
 
 Learn more about debugging [here](https://github.com/apache/openwhisk-vscode-extension/blob/master/vsc-extension-quickstart.md)
 
@@ -72,11 +91,11 @@
 limitations under the License.
 ```
 
-## Third-party Product Acknowledgement 
+## Third-party Product Acknowledgement
 
 Portions of this product include SVG files developed by the XEIcon project (https://github.com/xpressengine/XEIcon).
- 
+
  - Dark theme: https://github.com/apache/openwhisk-vscode-extension/tree/master/resource/dark
  - Light theme: https://github.com/apache/openwhisk-vscode-extension/tree/master/resource/light
 
-Those files are distributed under the XEIcon license (https://github.com/xpressengine/XEIcon#license).   
+Those files are distributed under the XEIcon license (https://github.com/xpressengine/XEIcon#license).
diff --git a/resource/template/actioncode/sample.go b/resource/template/actioncode/sample.go
index d9342f9..e580b50 100644
--- a/resource/template/actioncode/sample.go
+++ b/resource/template/actioncode/sample.go
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package main
 
 import "log"
@@ -15,4 +32,4 @@
   log.Printf("name=%s\n", name)
   // encode the result back in json
   return msg
-}
\ No newline at end of file
+}
diff --git a/resource/template/actioncode/sample.js b/resource/template/actioncode/sample.js
index b45121a..f11986b 100644
--- a/resource/template/actioncode/sample.js
+++ b/resource/template/actioncode/sample.js
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 function main() {
     return { msg: 'Hello world' };
 }
diff --git a/resource/template/actioncode/sample.py b/resource/template/actioncode/sample.py
index a695b98..83ca680 100644
--- a/resource/template/actioncode/sample.py
+++ b/resource/template/actioncode/sample.py
@@ -1,3 +1,22 @@
+"""Python sample code.
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+"""
+
 def main(args):
     name = args.get("name", "stranger")
     greeting = "Hello " + name + "!"
diff --git a/resource/template/actioncode/sample.rb b/resource/template/actioncode/sample.rb
index 9ad1938..4504df0 100644
--- a/resource/template/actioncode/sample.rb
+++ b/resource/template/actioncode/sample.rb
@@ -1,6 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 def main(args)
     name = args["name"] || "stranger"
     greeting = "Hello #{name}!"
     puts greeting
     { "greeting" => greeting }
-  end
\ No newline at end of file
+  end
+
diff --git a/resource/template/actioncode/sample.swift b/resource/template/actioncode/sample.swift
index 6da92f8..75071a3 100644
--- a/resource/template/actioncode/sample.swift
+++ b/resource/template/actioncode/sample.swift
@@ -1,7 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 func main(args: [String:Any]) -> [String:Any] {
     if let name = args["name"] as? String {
         return [ "greeting" : "Hello \(name)!" ]
     } else {
         return [ "greeting" : "Hello stranger!" ]
     }
-}
\ No newline at end of file
+}
diff --git a/test-fixtures/invalid-manifest.yaml b/test-fixtures/invalid-manifest.yaml
index e69de29..b1312a0 100644
--- a/test-fixtures/invalid-manifest.yaml
+++ b/test-fixtures/invalid-manifest.yaml
@@ -0,0 +1,16 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
diff --git a/test-fixtures/valid-manifest.yaml b/test-fixtures/valid-manifest.yaml
index 9e19d41..10dfe1a 100644
--- a/test-fixtures/valid-manifest.yaml
+++ b/test-fixtures/valid-manifest.yaml
@@ -41,8 +41,8 @@
             place: the Shire
             children: 13
             height: 1.2
-  
+
       rules:
         meetPersonRule:
           trigger: meetPerson
-          action: hello_world
\ No newline at end of file
+          action: hello_world
diff --git a/travis/scancode.sh b/travis/scancode.sh
new file mode 100755
index 0000000..bb146bc
--- /dev/null
+++ b/travis/scancode.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -e
+
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+ROOTDIR="$SCRIPTDIR/../"
+HOMEDIR="$SCRIPTDIR/../../"
+UTIL_DIR="$HOMEDIR/openwhisk-utilities"
+
+# clone OpenWhisk utilities repo. in order to run scanCode.py
+cd $HOMEDIR
+
+if [ ! -d "openwhisk-utilities" ] ; then
+    git clone https://github.com/apache/openwhisk-utilities.git
+else
+    cd "openwhisk-utilities"
+    git pull
+fi
+
+# run scancode
+cd $UTIL_DIR
+scancode/scanCode.py --config scancode/ASF-Release.cfg $ROOTDIR
diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md
index 869d46e..83dc669 100644
--- a/vsc-extension-quickstart.md
+++ b/vsc-extension-quickstart.md
@@ -1,3 +1,22 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
 # Welcome to your VS Code Extension
 
 ## What's in the folder
diff --git a/webpack.config.js b/webpack.config.js
index 209e1ff..a65d1dc 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 const path = require('path');
diff --git a/webview-template/invokeAction.html b/webview-template/invokeAction.html
index ec21ca2..30be2b1 100644
--- a/webview-template/invokeAction.html
+++ b/webview-template/invokeAction.html
@@ -1,3 +1,21 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
 <!DOCTYPE html>
 <html lang="en">
 <head>
@@ -23,7 +41,7 @@
         }
         .editor {
             flex: 1;
-        } 
+        }
         .footer {
             margin-top: 10px;
             min-height: 35px
@@ -96,4 +114,4 @@
         }
     </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/webview-template/metadataEditor.html b/webview-template/metadataEditor.html
index 14c5c23..95ed026 100644
--- a/webview-template/metadataEditor.html
+++ b/webview-template/metadataEditor.html
@@ -1,3 +1,21 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
 <!DOCTYPE html>
 <html lang="en">
 <head>
@@ -119,4 +137,4 @@
         }
     </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/webview-template/sequenceActionInfo.html b/webview-template/sequenceActionInfo.html
index 7bce0f6..6e8e26c 100644
--- a/webview-template/sequenceActionInfo.html
+++ b/webview-template/sequenceActionInfo.html
@@ -1,3 +1,21 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
 <!DOCTYPE html>
 <html lang="en">
 <head>
@@ -19,7 +37,7 @@
     window.addEventListener('message', event => {
         const message = event.data;
         const list = document.getElementById('actions');
-        
+
         if (message.command === 'getData' && message.actions) {
             setActionList(message.actions);
             vscode.setState({ actions: message.actions });
@@ -35,4 +53,4 @@
         });
     }
 </script>
-</html>
\ No newline at end of file
+</html>
diff --git a/webview-template/triggerInfo.html b/webview-template/triggerInfo.html
index c944303..1a1b301 100644
--- a/webview-template/triggerInfo.html
+++ b/webview-template/triggerInfo.html
@@ -1,3 +1,21 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
 <!DOCTYPE html>
 <html lang="en">
 <head>
@@ -79,17 +97,17 @@
             annotations: annotationsEditor.getText()
         })
     }
-    
+
     function setTriggerData(state) {
         triggerName.textContent = state.name;
-        
+
         // set editor contents
         paramsEditor.set(JSON.parse(state.params));
         annotationsEditor.set(JSON.parse(state.annotations));
-        
+
         let t = document.querySelector('#ruleRecord');
         let tb = document.querySelector('#ruleTable');
-        
+
         if (state.rules) {
             for (let [name, rule] of Object.entries(state.rules)) {
                 let row = document.importNode(t.content, true);
@@ -101,4 +119,4 @@
         }
     }
 </script>
-</html>
\ No newline at end of file
+</html>
diff --git a/wskdeploy-template/minimal/HOW-TO-DEPLOY.md b/wskdeploy-template/minimal/HOW-TO-DEPLOY.md
index a63853b..0ae836e 100644
--- a/wskdeploy-template/minimal/HOW-TO-DEPLOY.md
+++ b/wskdeploy-template/minimal/HOW-TO-DEPLOY.md
@@ -1,3 +1,22 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
 # What is wskdeploy
 
 `wskdeploy` is a utility to help you deploy any part of the OpenWhisk programming model using a Manifest file written in YAML. Use it to deploy all your OpenWhisk Packages, Actions, Triggers, and Rules!
@@ -72,4 +91,4 @@
 $ cd src
 $ npm install
 $ npm run test
-```
\ No newline at end of file
+```
diff --git a/wskdeploy-template/minimal/manifest.yaml b/wskdeploy-template/minimal/manifest.yaml
index 4b6f5d0..5bad634 100644
--- a/wskdeploy-template/minimal/manifest.yaml
+++ b/wskdeploy-template/minimal/manifest.yaml
@@ -43,4 +43,4 @@
     rules:
       meetPersonRule:
         trigger: meetPerson
-        action: hello_world
\ No newline at end of file
+        action: hello_world
diff --git a/wskdeploy-template/minimal/src/index.js b/wskdeploy-template/minimal/src/index.js
index 7d8e8a4..a2ed166 100644
--- a/wskdeploy-template/minimal/src/index.js
+++ b/wskdeploy-template/minimal/src/index.js
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 function main(params) {
     const msg = 'Hello, ' + params.name + ' from ' + params.place;
     const family = 'You have ' + params.children + ' children ';
diff --git a/wskdeploy-template/minimal/src/index.test.js b/wskdeploy-template/minimal/src/index.test.js
index 7773ada..494302a 100644
--- a/wskdeploy-template/minimal/src/index.test.js
+++ b/wskdeploy-template/minimal/src/index.test.js
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 const { main } = require('.');
 
 test('results have a greeting and details property', () => {