Apache NiFi MiNiFi
Copyright 2017 The Apache Software Foundation

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

This includes derived works from the Apache Celix (ASLv2 licensed) project (https://github.com/apache/celix):
Copyright 2015 The Apache Software Foundation
The derived work is adapted from
  celix/cmake/FindUUID.cmake
and can be found in cmake/FindUUID.cmake
