{"id":18849148,"url":"https://github.com/gesquive/gop","last_synced_at":"2025-04-14T08:42:08.192Z","repository":{"id":70276323,"uuid":"95671822","full_name":"gesquive/gop","owner":"gesquive","description":"golang packager/archive","archived":false,"fork":false,"pushed_at":"2020-10-05T02:15:11.000Z","size":47,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T22:13:11.249Z","etag":null,"topics":["archiver","golang","packager","tar","utility","xz","zip"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gesquive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-28T13:27:11.000Z","updated_at":"2020-10-05T02:15:13.000Z","dependencies_parsed_at":"2023-02-22T06:46:10.238Z","dependency_job_id":null,"html_url":"https://github.com/gesquive/gop","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gesquive%2Fgop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gesquive%2Fgop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gesquive%2Fgop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gesquive%2Fgop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gesquive","download_url":"https://codeload.github.com/gesquive/gop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248849300,"owners_count":21171561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archiver","golang","packager","tar","utility","xz","zip"],"created_at":"2024-11-08T03:18:31.758Z","updated_at":"2025-04-14T08:42:08.166Z","avatar_url":"https://github.com/gesquive.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gop - go packager\n[![Software License](https://img.shields.io/badge/License-MIT-orange.svg?style=flat-square)](https://github.com/gesquive/gop/blob/master/LICENSE)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/gesquive/gop)\n[![Build Status](https://img.shields.io/circleci/build/github/gesquive/gop?style=flat-square)](https://circleci.com/gh/gesquive/gop)\n[![Coverage Report](https://img.shields.io/codecov/c/gh/gesquive/gop?style=flat-square)](https://codecov.io/gh/gesquive/gop)\n\nPackage your multi-os/arch executables. `gop` is intended to compliment [gox](https://github.com/mitchellh/gox) and provide the packaging aspect of a deployment.\n\nYou should be able to use the same `arch` \u0026 `os` arguments used to run `gox`. The `ouput`/`input` arguments are also similar.\n\n`gop` supports packaging into the following archive formats: zip, tar, tgz, tar.gz, tbz2, tar.bz2, txz, tar.xz, tlz4, tar.lz4, tsz, tar.sz\n\n\n## Installing\n\n### Compile\nThis project requires go 1.8+ to compile. Just run `go get -u github.com/gesquive/gop` and the executable should be built for you automatically in your `$GOPATH`.\nIf using `go mod`, go 1.11+ is required and you will need to set `GO111MODULE=on` in order for `go get` to complete properly.\n\nOptionally you can run `make install` to build and copy the executable to `/usr/local/bin/` with correct permissions.\n\n### Download\nAlternately, you can download the latest release for your platform from [github](https://github.com/gesquive/gop/releases).\n\nOnce you have an executable, make sure to copy it somewhere on your path like `/usr/local/bin` or `C:/Program Files/`.\nIf on a \\*nix/mac system, make sure to run `chmod +x /path/to/gop`.\n\n### Homebrew\nThis app is also avalable from this [homebrew tap](https://github.com/gesquive/homebrew-tap). Just install the tap and then the app will be available.\n```shell\n$ brew tap gesquive/tap\n$ brew install gop\n```\n\n## Configuration\n\nYou can add a `.gop.yml` file to your project which `gop` will use in place of command line arguments. A [sample config](config.sample.yml) is provided in this repo. Just rename the the sample to `.gop.yml`.\n\n\n### Precedence Order\nThe application looks for variables in the following order:\n - command line flag\n - environment variable\n - config file variable\n - default\n\nSo any variable specified on the command line would override values set in the environment or config file.\n\n### Config File\nThe application looks for a configuration file at the following locations in order:\n - `./.gop.yml`\n - `~/.config/gop/.gop.yml`\n\n### Environment Variables\nOptionally, instead of using a config file you can specify config entries as environment variables. Use the prefix \"GOP_\" in front of the uppercased variable name. For example, the config variable `archive` would be the environment variable `GOP_ARCHIVE`.\n\n## Usage\n\n```console\nPackage your multi-os/arch executables\n\nUsage:\n  gop [flags] [packages]\n\nFlags:\n  -a, --arch stringSlice       List of architectures to package (default [386,amd64,amd64p32,arm,arm64,ppc64,ppc64le])\n  -r, --archive stringSlice    List of package types to create (default [zip,tar.gz,tar.xz])\n  -c, --config string          config file (default .gop.yml)\n  -d, --delete                 Delete the packaged executables\n  -f, --files stringSlice      Add additional file to package\n  -h, --help                   help for gop\n  -i, --input string           The input path template. (default \"{{.Dir}}_{{.OS}}_{{.Arch}}\")\n  -s, --os stringSlice         List of operating systems to package (default [darwin,dragonfly,freebsd,linux,netbsd,openbsd,plan9,solaris,windows])\n  -o, --output string          The output path template. (default \"{{.Dir}}_{{.OS}}_{{.Arch}}.{{.Archive}}\")\n  -p, --packages stringSlice   List of os/arch/archive groups to package\n  -V, --version                Show the version and exit\n```\nOptionally, a hidden debug flag is available in case you need additional output.\n```console\nHidden Flags:\n  -D, --debug                  Include debug statements in log output\n```\n\n## Documentation\n\nThis documentation can be found at github.com/gesquive/gop\n\n## License\n\nThis package is made available under an MIT-style license. See LICENSE.\n\n## Contributing\n\nPRs are always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgesquive%2Fgop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgesquive%2Fgop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgesquive%2Fgop/lists"}