Apache Groovy
Copyright 2003-2019 The Apache Software Foundation

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

This product includes/uses ANTLR2 (http://www.antlr2.org/)
developed by Terence Parr 1989-2006

This product includes/uses ANTLR4 (https://github.com/antlr/antlr4)
Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.

This product embeds the OpenBeans jar within its grooid jar artifacts
OpenBeans includes/uses files from Apache Harmony and the following notice applies
Copyright 2006, 2010 The Apache Software Foundation.
Portions of Apache Harmony were originally developed by Intel Corporation and are
licensed to the Apache Software Foundation under the "Software Grant and Corporate
Contribution License Agreement" and for which the following copyright notices apply
    (C) Copyright 2005 Intel Corporation
    (C) Copyright 2005-2006 Intel Corporation
    (C) Copyright 2006 Intel Corporation