← 全部工具

eirikb/gg

热度 65 更新于 开发与构建

Universal tools wrapper

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

gg.cmd

[[Changelog]](https://github.com/eirikb/gg/releases) [[Download]](https://github.com/eirikb/gg/releases/latest/download/gg.cmd)

gg.cmd is a cross-platform and cross-architecture command-line interface (CLI) that acts as an executable wrapper for various tools such as Gradle, JDK/JVM, Node.js, and Java. It requires zero external dependencies - works on plain Alpine and Ubuntu containers without curl/wget or updated CA certificates (all networking is built-in). Similar in functionality to gradlew (without need for JDK initially installed).

Install with bash (wget): wget ggcmd.io/gg.cmd && chmod +x gg.cmd

Install with bash (curl): curl -L ggcmd.io gg.cmd && chmod +x gg.cmd

Install with PowerShell: wget ggcmd.io -OutFile gg.cmd

[!NOTE] If installing via PowerShell, you still need to make gg.cmd executable if your project has contributors on Linux or macOS. You can do this with the following git command: ps1 git update-index --chmod=+x

or

Download the latest release

GitHub Action

- uses: eirikb/gg/action@main
- run: gg.cmd gradle build

Install? The concept involves placing a copy of gg.cmd in the root directory of your project. This is similar to what you would do with gradlew or mvnw, except this method is applicable to multiple tools. As a result, your colleagues would not have to install anything on their host machines.

Features

  • Zero dependencies - Works on minimal containers (Alpine, Ubuntu) without curl/wget or CA certificates
  • Configuration system - Define version requirements and command aliases via gg.toml files
  • Simplify the management of other executables in your project
  • Automatically detect and execute the required executable version using project configuration files (such

as package.json for Node.js projects)

  • Support for chaining multiple executables (e.g. gradle@6:java@17)
  • Cross-platform compatibility (Windows, macOS, and Linux)
  • Cross-architecture compatibility (x8664 and ARM)
  • Fast and lightweight

By default, installs tools in a global cache directory ($HOME/.cache/gg on Unix, %UserProfile%\.cache\gg on Windows). Use the -l flag to use a local cache (.cache/gg in current directory) instead. Adds every dependency into PATH before executing.

Configuration