goxz

Just do cross building and archiving go tools conventionally

  • Owner: Songmu/goxz
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

goxz

Build Status
Coverage Status
MIT License
GoDoc

GO + X (crossbuild) + Z (zip)

Description

Just do cross building and archiving go tools conventionally

Installation

% go get github.com/Songmu/goxz/cmd/goxz

Built binaries are available on gihub releases.
https://github.com/Songmu/goxz/releases

Concept

  • Simple and Lightweight
  • Provides goxc subset
    • only provides cross building and archiving
  • No older Go support
  • No complicated configuration and behaivors
    • convention over configuration

Synopsis

# in your repository
% goxz -pv 0.0.1 -os=linux,darwin -arch=amd64 ./cmd/mytool [...]

# archives are built into `./goxz` directory by default (configurable by `-d` option)
%  tree ./goxz
goxz/
├── yourapp_0.0.1_darwin_amd64.zip
└── ...

Included resources

following files are included to archives automatically.

  • LICENSE*
  • README*
  • INSTALL*
  • CREDIT*
  • CHANGELOG*

You can specify additional resources by using -include option.

Archive naming specification

{{Package}}_{{Version}}_{{OS}}_{{Arch}}.{{Ext}}
or
{{Package}}_{{OS}}_{{Arch}}.{{Ext}}

  • {{Package}}
    • directory name of the project by default
    • you can specify it with -n option
  • {{Version}}
    • When the version is specified by -pv option, that is contained in archive name
  • {{Ext}}
    • .zip is by default on "windows" and "darwin", .tar.gz is by default on other os.
    • use -z option to use zip always to compress.
  • No file naming notations are available yet
    • ref. goxc: {{.ExeName}}_{{.Version}}_{{.Os}}_{{.Arch}}{{.Ext}}

Options

  • -d destination directory (./goxz by default)
  • -n application name. by default the directory name is used.
  • -os linux,darwin and windows by default
  • -arch amd64 only by default
  • -pv for speicifing version (optional)
  • -o output filename
    • not available with multiple package building
  • -z to use zip always to compless
    • by default, zip is used on "windows and "darwin", tar.gz is used on other OS
  • -include Include additional resources in archives
  • -build-ldflags / -build-tags

Author

Songmu

Main metrics

Overview
Name With OwnerSongmu/goxz
Primary LanguageGo
Program languageMakefile (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2017-12-24 13:42:20
Pushed At2024-08-30 16:35:10
Last Commit At
Release Count19
Last Release Namev0.9.1 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count94
Watchers Count5
Fork Count11
Commits Count176
Has Issues Enabled
Issues Count9
Issue Open Count3
Pull Requests Count30
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private