Apache OpenWhisk
Copyright 2016-2018 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

========================================================================
MIT License
========================================================================

The following components are provided under the MIT License. See project link for details.

     (MIT License) gradle-scalafmt (alenkacz/gradle-scalafmt - https://github.com/alenkacz/gradle-scalafmt)

========================================================================
BSD 3-Clause "New" or "Revised" License
========================================================================

The following components are provided under the BSD 3-Clause "New" or "Revised" License. See project link for details.

     (BSD 3-Clause "New" or "Revised" License) Scala Library (org.scala-lang:scala-library - https://mvnrepository.com/artifact/org.scala-lang/scala-library)

========================================================================
NOTICE files
========================================================================

The following NOTICEs are pertain to software distributed with this project.


// ------------------------------------------------------------------
// NOTICE file corresponding to the section 4d of The Apache License,
// Version 2.0, in this case for
// ------------------------------------------------------------------

// ---------------------------------------------------
// NOTICE file of apache/groovy
// ---------------------------------------------------

Apache Groovy
Copyright 2003-2018 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product bundles icons from the famfamfam.com silk icons set
http://www.famfamfam.com/lab/icons/silk/
Licensed under the Creative Commons Attribution Licence v2.5
http://creativecommons.org/licenses/by/2.5/
