# Install groovy with Homebrew, chocolatey, apt, MacPorts, Nix, pacman, scoop

Java-based scripting language. Version 5.0.7 via Homebrew; verified 2026-07-04.

## Install

```sh
sudo av install brew:groovy
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install groovy
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install groovy
```

  Evidence: MacPorts ports tree: lang/groovy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install groovy
```

  Evidence: Debian stable package indexes: groovy from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#groovy
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gr/groovy/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S groovy
```

  Evidence: Arch Linux sync databases: groovy from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Chocolatey (92%):

```sh
choco install groovy
```

  Evidence: Chocolatey community package catalog: groovy from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','gpg4win-vanilla'

- Scoop (92%):

```sh
scoop install main/groovy
```

  Evidence: Scoop official bucket manifest trees: bucket/groovy.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:groovy
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/groovy>
- **Version:** 5.0.7
- **Source summary:** Java-based scripting language
- **Homepage:** <https://www.groovy-lang.org/>
- **Repository:** <https://github.com/apache/groovy>
- **Upstream docs:** <https://groovy.apache.org/>
- **License:** Apache-2.0
- **Source archive:** <https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/apache-groovy-binary-5.0.7.zip>
- **Last updated:** 2026-07-04T02:30:52Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- grape (cli)
- groovy (cli)
- groovyConsole (cli)
- groovyc (cli)
- groovydoc (cli)
- groovysh (cli)
- java2groovy (cli)
- startGroovy (cli)
- grape (alias)
- groovy (alias)
- groovyConsole (alias)
- groovyc (alias)
- groovydoc (alias)
- groovysh (alias)
- java2groovy (alias)
- startGroovy (alias)

## Dependencies

- openjdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 5.0.7
- Package-manager updated: 2026-07-04
- Local data: ok
- Upstream repository: https://www.groovy-lang.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Apache Groovy is a JVM language and scripting runtime with Java-like syntax, dynamic and static typing options, metaprogramming, builders, closures, DSL support, and direct Java interoperability.

As a package, `groovy` is a classic developer workstation formula: it installs the language runtime and command-line tools used for scripts, REPL sessions, compilation, documentation generation, dependency grabbing, and Java-adjacent automation.

### Project history

The Groovy project dates itself to 2003, and the official site copyright span begins in 2003. Early public release history is visible in the official changelog, which lists beta releases beginning in December 2003 and JSR-labeled releases through 2005 and 2006.

Groovy entered the Java Community Process as JSR 241, an effort to standardize the Groovy programming language for the Java platform. The official changelog records Groovy 1.0.0 on 2007-01-03, after years of beta, release-candidate, and JSR-tagged builds.

Groovy 2.0.0 was released in 2012. Its release notes highlighted static type checking and static compilation, helping Groovy serve both dynamic scripting and more performance-conscious JVM code paths.

In 2015, the Groovy project moved into the Apache Software Foundation incubator. Apache's incubator status page records that Groovy graduated on 2015-11-18, establishing Apache Groovy as an ASF top-level project governed under Apache processes.

Later major lines kept the language aligned with modern Java while retaining its scripting and DSL identity. The official changelog records Groovy 3.0.0 in 2020, Groovy 4.0.0 in 2022, and Groovy 5.0.0 in 2025.

### Adoption history

Groovy's adoption came from being close enough to Java for enterprise teams while adding concise syntax, closures, builders, runtime metaprogramming, and script execution. That made it useful for build logic, tests, internal automation, and DSL-heavy frameworks.

The Groovy ecosystem became especially visible through Grails, Gradle build scripts, Spock tests, Jenkins Pipeline scripts, and many smaller Java-platform automation tasks. The official home page describes a vibrant ecosystem across web development, reactive applications, concurrency, test frameworks, build tools, code analysis, and GUI building.

Apache governance mattered for adoption because it moved Groovy from its Codehaus-era identity into ASF infrastructure, releases, trademarks, and community processes. That gave packagers a stable upstream identity and helped downstream projects refer to Apache Groovy rather than a vendor-owned runtime.

### How it is used

The Homebrew `groovy` package installs command-line entry points such as `groovy`, `groovyc`, `groovysh`, `groovyConsole`, `groovydoc`, `grape`, `java2groovy`, and `startGroovy`.

`groovy` runs scripts and classes on the JVM; `groovyc` compiles Groovy sources; `groovysh` provides a shell; `groovyConsole` provides a Swing console; `groovydoc` builds API documentation; and `grape` handles Groovy's dependency-grabbing workflow.

User-level files under `~/.groovy` are part of the package curation because Grape, logging, and shell startup customization are common per-user Groovy workflows. No general credentials file is documented for the language runtime.

### Why package nerds care

Groovy is a packaging hinge for the JVM scripting world. A single language package exposes a REPL, compiler, script runner, dependency helper, and documentation generator while depending on Java rather than shipping an isolated VM.

It also sits at the intersection of language-runtime packaging and build-tool culture. Many developers meet Groovy through tools that embed it, but the package remains valuable for direct scripts, local debugging, and running examples outside a larger framework.

For package maintainers, Groovy is interesting because the project has long-lived major lines, Apache source-release expectations, Java-version compatibility concerns, and a split between the language distribution and SDK/documentation adjunct packages.

### Timeline

- 2003: Groovy project history begins, with beta releases listed in the official changelog.
- 2004: JSR 241 tracked Groovy standardization work for the Java platform.
- 2007: Groovy 1.0.0 was released.
- 2012: Groovy 2.0.0 introduced static type checking and static compilation as headline features.
- 2015: Groovy entered Apache incubation and graduated as an Apache top-level project on 2015-11-18.
- 2020: Groovy 3.0.0 was released.
- 2022: Groovy 4.0.0 was released.
- 2025: Groovy 5.0.0 was released.

### Related projects

- Grails is the historically important Groovy web framework.
- Gradle popularized Groovy DSL usage for JVM builds.
- Spock is a Groovy-based testing and specification framework.
- Jenkins Pipeline made Groovy scripts a common CI/CD automation surface.
- Grape is Groovy's dependency-grabbing system exposed by the `grape` command.

### Sources

- <https://github.com/apache/groovy>
- <https://groovy-lang.org/changelogs.html>
- <https://groovy-lang.org/releasenotes/groovy-2.0.html>
- <https://incubator.apache.org/projects/groovy.html>
- <https://jcp.org/en/jsr/detail?id=241>
- <https://news.apache.org/foundation/entry/groovy_submitted_to_become_a>
- <https://www.groovy-lang.org/>
- <https://www.groovy-lang.org/documentation.html>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.groovy/grapeConfig.xml, ~/.groovy/logging.properties, ~/.groovy/groovysh_init.groovy
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** groovy
- **Version Scheme:** 0
- **Revision:** 0
- **Conflicts With:** groovysdk
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - groovy - 2.4.21-10: normalized package name match | Debian stable package indexes: groovy from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Agile dynamic language for the Java Virtual Machine | http://www.groovy-lang.org
- Debian apt - groovy-doc - 2.4.21-10: normalized package name match | Debian stable package indexes: groovy-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Agile dynamic language for the Java Virtual Machine (documentation) | http://www.groovy-lang.org
- Nix - groovy: normalized package name match | nixpkgs package indexes: pkgs/by-name/gr/groovy/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - groovy - 2.4.21-10: normalized package name match | Ubuntu 24.04 LTS package indexes: groovy from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Agile dynamic language for the Java Virtual Machine | http://www.groovy-lang.org
- Ubuntu apt - groovy-doc - 2.4.21-10: normalized package name match | Ubuntu 24.04 LTS package indexes: groovy-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Agile dynamic language for the Java Virtual Machine (documentation) | http://www.groovy-lang.org
- pacman - groovy - 5.0.4-1: normalized package name match | Arch Linux sync databases: groovy from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Programming language for the Java platform, inspired by Python, Ruby and Smalltalk | https://groovy-lang.org/
- MacPorts - groovy: normalized package name match | MacPorts ports tree: lang/groovy/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - groovy: normalized package name match | Chocolatey community package catalog: groovy from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','gpg4win-vanilla'
- Scoop - main/groovy: normalized package name match | Scoop official bucket manifest trees: bucket/groovy.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [groovysdk](https://www.automicvault.com/pkg/brew/groovysdk/) - Shares the same upstream homepage.
- [gosu](https://www.automicvault.com/pkg/brew/gosu/) - Shares av.db curated category or tags: cli, java, jvm, language-runtime, programming-language.
- [flix](https://www.automicvault.com/pkg/brew/flix/) - Shares av.db curated category or tags: cli, jvm, language-runtime, programming-language.
- [frege](https://www.automicvault.com/pkg/brew/frege/) - Shares av.db curated category or tags: cli, jvm, language-runtime, programming-language.
- [gnu-apl](https://www.automicvault.com/pkg/brew/gnu-apl/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, scripting.
- [io](https://www.automicvault.com/pkg/brew/io/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, scripting.
- [janet](https://www.automicvault.com/pkg/brew/janet/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, scripting.
- [kotlin](https://www.automicvault.com/pkg/brew/kotlin/) - Shares av.db curated category or tags: cli, jvm, language-runtime, programming-language.
- [lua](https://www.automicvault.com/pkg/brew/lua/) - Shares av.db curated category or tags: cli, language-runtime, programming-language, scripting.
- [scala](https://www.automicvault.com/pkg/brew/scala/) - Local package facts share a topical domain. Shared terms: based, cli, jvm, language, language-runtime.

## Combined YAML source

View the package source record on GitHub. [combined/groovy.yml](https://github.com/automic-vault/db/blob/main/combined/groovy.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
