Apache Felix iPOJO Maven Plugin
Copyright 2008-2012 The Apache Software Foundation

This software was developed at the Apache Software Foundation
(http://www.apache.org) and may have dependencies on other
Apache software licensed under Apache License 2.0.

I. Included Third-Party Software

II. Used Third-Party Software

This product uses software developed at
The Codehaus (http://www.codehaus.org)
Licensed under the Apache License 2.0.

III. Overall License Summary
- Apache License 2.0
