// ------------------------------------------------------------------
// Transitive dependencies of this project determined from the
// maven pom organized by organization.
// ------------------------------------------------------------------

Apache Creadur Rat::Plugin4Gradle


From: 'Apache Software Foundation' (http://www.apache.org)
  - Apache Creadur Rat::API (http://creadur.apache.org/rat/apache-rat-api/) org.apache.rat:apache-rat-api:jar:0.12-SNAPSHOT
    License: Apache License, Version 2  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Apache Creadur Rat::Core (http://creadur.apache.org/rat/apache-rat-core/) org.apache.rat:apache-rat-core:jar:0.12-SNAPSHOT
    License: Apache License, Version 2  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Apache Creadur Rat::Tasks4Ant (http://creadur.apache.org/rat/apache-rat-tasks/) org.apache.rat:apache-rat-tasks:jar:0.12-SNAPSHOT
    License: Apache License, Version 2  (http://www.apache.org/licenses/LICENSE-2.0.txt)

From: 'The Apache Software Foundation' (http://www.apache.org/)
  - Commons CLI (http://commons.apache.org/cli/) commons-cli:commons-cli:jar:1.2
    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Commons Collections (http://commons.apache.org/collections/) commons-collections:commons-collections:jar:3.2.1
    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Commons IO (http://commons.apache.org/io/) commons-io:commons-io:jar:2.2
    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Commons Lang (http://commons.apache.org/lang/) commons-lang:commons-lang:jar:2.6
    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
  - Commons Compress (http://commons.apache.org/compress/) org.apache.commons:commons-compress:jar:1.5
    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)




