# Install google-java-format with Homebrew, MacPorts, Nix, scoop

Reformats Java source code to comply with Google Java Style. Version 1.35.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:google-java-format
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install google-java-format
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install google-java-format
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#google-java-format
```

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

### Windows

- Scoop (92%):

```sh
scoop install extras/google-java-format
```

  Evidence: Scoop official bucket manifest trees: bucket/google-java-format.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:google-java-format
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/google-java-format>
- **Version:** 1.35.0
- **Source summary:** Reformats Java source code to comply with Google Java Style
- **Homepage:** <https://github.com/google/google-java-format>
- **Repository:** <https://github.com/google/google-java-format>
- **Upstream docs:** <https://github.com/google/google-java-format#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/google/google-java-format/releases/download/v1.35.0/google-java-format-1.35.0-all-deps.jar>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- google-java-format (cli)
- google-java-format-diff (cli)
- google-java-format (alias)
- google-java-format-diff (alias)

## Dependencies

- openjdk

## Uses from macOS

- python

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.35.0
- Local data: ok
- Upstream repository: https://github.com/google/google-java-format
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

google-java-format is Google's command-line and library implementation of the Google Java Style formatter. The project deliberately avoids user-configurable formatting rules so Java code can be normalized to one Google style across editors, builds, and scripts.

### Project history

Google opened the GitHub repository in May 2015 and published a 0.1 Alpha release in November 2015. The 1.0 release followed in April 2016, establishing the formatter as a packaged tool rather than only an internal style convention.

The README describes several integration surfaces around the same formatter engine: a command-line jar or native binary, a diff-oriented helper script, JetBrains and Eclipse plugins, and use as a Java library from Maven or Gradle builds. That shape made the project useful both for individual developer machines and for automated formatting checks.

### Adoption history

Adoption grew through the Java tooling ecosystem because the formatter is intentionally prescriptive. The official README lists third-party integrations for Visual Studio Code, Gradle, Maven, SBT, and GitHub Actions, showing how package maintainers and build-tool authors wrapped the same formatter for their own workflows.

Package-manager adoption followed the CLI packaging model: Homebrew, MacPorts, Nix, and Scoop package the formatter so users can run `google-java-format` or `google-java-format-diff` without hand-managing the release jar.

### How it is used

The common package-manager use is formatting whole Java files from the shell, rewriting files in place with `--replace`, checking changed lines with the diff helper, or enforcing style in CI with a nonzero exit when files differ. The library mode supports code generators and build tools that need formatted Java output.

The formatter depends on javac internals through the `jdk.compiler` module, so editor and library integrations document extra JVM export flags on strongly encapsulated JDKs.

### Why package nerds care

google-java-format matters to package nerds because it packages a style guide as executable policy. It is a canonical example of a formatter with almost no bikeshed surface: installation, editor integration, and CI wiring matter more than local configuration.

It also sits at the intersection of Java release engineering and package distribution: jars, native binaries, IDE plugins, Maven artifacts, and OS package-manager formulae all expose the same opinionated formatting behavior.

### Timeline

- 2015: GitHub repository created under google/google-java-format.
- 2015: 0.1 Alpha published on GitHub Releases.
- 2016: 1.0 release published on GitHub Releases.
- 2017: 1.x releases added a steady release cadence for package managers and editor integrations.
- 2021: JDK strong encapsulation made the documented `--add-exports` flags important for plugin and library users.

### Related projects

- The README points to Google Java Style, the IntelliJ and Eclipse plugins, google-java-format-diff, Spotless Gradle and Maven integrations, fmt-maven-plugin, sbt-java-formatter, and GitHub Actions wrappers.

### Sources

- <https://api.github.com/repos/google/google-java-format>
- <https://github.com/google/google-java-format>
- <https://github.com/google/google-java-format#readme>
- <https://github.com/google/google-java-format/releases>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Nix - google-java-format: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/google-java-format/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - google-java-format: normalized package name match | MacPorts ports tree: java/google-java-format/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/google-java-format: normalized package name match | Scoop official bucket manifest trees: bucket/google-java-format.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [air](https://www.automicvault.com/pkg/brew/air/) - Shares av.db curated category or tags: cli, code-formatting, code-quality, developer-tools, formatter.
- [alejandra](https://www.automicvault.com/pkg/brew/alejandra/) - Shares av.db curated category or tags: cli, code-formatting, code-quality, developer-tools, formatter.
- [astyle](https://www.automicvault.com/pkg/brew/astyle/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter, java.
- [black](https://www.automicvault.com/pkg/brew/black/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [cbfmt](https://www.automicvault.com/pkg/brew/cbfmt/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [darker](https://www.automicvault.com/pkg/brew/darker/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [djhtml](https://www.automicvault.com/pkg/brew/djhtml/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [findent](https://www.automicvault.com/pkg/brew/findent/) - Shares av.db curated category or tags: cli, code-formatting, developer-tools, formatter.
- [scalariform](https://www.automicvault.com/pkg/brew/scalariform/) - Local package facts share a topical domain. Shared terms: cli, code, code-formatting, developer, developer-tools.
- [swift-format](https://www.automicvault.com/pkg/brew/swift-format/) - Local package facts share a topical domain. Shared terms: cli, code, code-formatting, developer, developer-tools.
- [swiftformat](https://www.automicvault.com/pkg/brew/swiftformat/) - Local package facts share a topical domain. Shared terms: cli, code, code-formatting, developer, developer-tools.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
