a build tool for Go, with a focus on cross-compiling, packaging and deployment

goxc build status

NOTE: goxc has long been in maintenance mode. Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are still many aspects of goxc which I'm very proud of, and some packaging features in particular, which are still useful. I'm very much a go user, but I myself haven't had any need for goxc for a long while.

If you see something you'd like to add to goxc, please go ahead, fork and PR. Good PRs will earn you commit access to the repo. Thanks for everyone's help over the years.

goxc is a build tool for Go, with a focus on cross-compiling and packaging.

By default, goxc [g]zips (& .debs for Linux) the programs, and generates a 'downloads page' in markdown (with a Jekyll header).

goxc is written in Go but uses os.exec to call 'go build' with the appropriate flags & env variables for each supported platform.

goxc was inspired by Dave Cheney's Bash script golang-crosscompile.

  • goxc crosscompiles to all platforms at once.
  • The artifacts are saved into a directory structure along with a markdown file of relative links.
  • Artifacts are packaged as zips, tgzs, or debs. Defaults for each OS/architecture.
  • AND, goxc can now upload your files to github releases OR bintray.com.
  • See ‘Github Releases’ section below.

Notable Features

  • Cross-compilation, to all supported platforms, or a specified subset.
    • Validation of toolchain & verification of cross-compiled artifacts
    • Specify target platform, via 'Build Constraint'-like syntax (via commandline flag e.g. -bc="windows linux,!arm", or via config)
  • Automatic (re-)building toolchain to all or specified platforms.
  • 'task' based invocation, similar to 'make' or 'ant'. e.g. goxc xc or goxc clean go-test
    • The 'default' task alias will, test, cross-compile, verify, package up your artifacts for each platform, and generate a 'downloads page' with links to each platform.
    • Various go tools available via tasks: go-test, go-vet, go-fmt, go-install, go-clean.
    • You can modify task behaviour via configuration or commandline flags.
  • JSON-based configuration files for repeatable builds.
    • Most config data can be written via flags (using -wc option) - less JSON fiddliness.
    • Includes support for multiple configurations per-project.
    • Per-task configuration options.
    • 'Override' config files for 'local environment' - working-copy-specific, or branch-specific, configurations.
  • Packaging & distribution
    • Zip (or tar.gz) archiving of cross-compiled artifacts & accompanying resources (READMEs etc)
    • Packaging into .debs (for Debian/Ubuntu Linux)
    • Upload to github.com releases.
    • bintray.com integration (deploys binaries to bintray.com). bintray.com registration required
    • 'downloads page' generation (markdown/html format; templatable).
  • Versioning:
    • track your version number via configuration data.
    • version number interpolation at compile-time (uses go's -ldflags compiler option to populate given constants or global variables with build version or build date)
    • version number interpolation of source code. goxc interpolate-source (new task available in 0.10.x).
    • the bump task facilitates increasing the app version number.
    • the tag task creates a tag in your vcs (currently only 'git' supported).
  • support for multiple binaries per project (goxc now searches subdirectories for 'main' packages)
  • support for multiple Go installations - choose at runtime with -goroot= flag.

Installation

goxc requires the go source and the go toolchain.

  1. Install go from source. (Requires gcc (or MinGW) and 'hg')

    • OSX Users Note: If you are using XCode 5 (OSX 10.9), it is best to go straight to Go 1.2rc5 (or greater). This is necessary because Apple have replaced the standard gcc with llvm-gcc, and Go 1.1 compilation tools depend on the usual gcc.

      • There is another workaround incase Go 1.2rc5 is not an option:

          brew tap homebrew/versions
          brew install apple-gcc42
          go get github.com/laher/goxc
          CC=`brew list apple-gcc42 | grep bin/gcc-4.2` goxc -t
        
  2. Install goxc:

    go get github.com/laher/goxc
    
  3. a. (just once per Go version): to pre-build the toolchains for all platforms:

    goxc -t
    
    • Note that rebuilding the toolchain is only required for Go up until v1.4. This step will become unnecessary in Go 1.5.
    • Note that, until goxc v0.16.0, rebuilding the toolchain was triggered automatically. This has now been switched off (by default). Automatic rebuilding was causing a number of subtle bugs for different users, and has been switched off since v0.16.0.
    • Also note that building the toolchain takes a while. Cross-compilation itself is quite fast.

Basic Usage

cd path/to/app/dir
goxc

More options

Use goxc -h to list all options.

  • e.g. To restrict by OS and Architecture (using the same syntax as Go Build Constraints):

     goxc -bc="linux,!arm windows,386 darwin"
    
  • e.g. To set a destination root directory and artifact version number:

     goxc -d=my/jekyll/site/downloads -pv=0.1.1
    
  • 'Package version' can be compiled into your app if you define a VERSION variable in your main package.

"Tasks"

goxc performs a number of operations, defined as 'tasks'. You can specify tasks as commandline arguments

  • goxc -t performs one task called 'toolchain'. It's the equivalent of goxc -d=~ toolchain
  • The default task is actually several tasks, which can be summarised as follows:
    • validate (tests the code) -> compile (cross-compiles code) -> package ([g]zips up the executables and builds a 'downloads' page)
  • You can specify one or more tasks, such as goxc go-fmt xc
  • You can skip tasks with '-tasks-='. Skip the 'package' stage with goxc -tasks-=package
  • For a list of tasks and 'aliases', run goxc -h tasks
  • Several tasks have options available for overriding. You can specify them in config or via flags. Just use goxc <taskname> -task-setting=value <othertask>
  • For more info on a particular task, run goxc -h <taskname>. This will also show you the options available for that task.
  • The easiest way to see how to configure tasks in config is to write some task config via -wc, e.g. goxc -wc xc -GOARM=5

Outcome

By default, artifacts are generated and then immediately archived into (outputdir).

Examples:

  • /my/outputdir/0.1.1/myapp_0.1.1_linux_arm.tar.gz
  • /my/outputdir/0.1.1/myapp_0.1.1_windows_386.zip
  • /my/outputdir/0.1.1/myapp_0.1.1_linux_386.deb

The version number is specified with -pv=0.1.1 .

By default, the output directory is ($GOBIN)/(appname)-xc, and the version is 'unknown', but you can specify these.

e.g.

  goxc -pv=0.1.1 -d=/home/me/myuser-github-pages/myapp/downloads/

NOTE: it's bad idea to use project-level github-pages - your repo will become huge. User-level gh-pages are an option, but it's better to use the 'bintray' tasks.:

If non-archived, artifacts generated into a directory structure as follows:

(outputdir)/(version)/(OS)_(ARCH)/(appname)(.exe?)

Be careful if you want to build a project with multiple executables. You need to add {{.ExeName}} to your OutPath-setting in your '.goxc.json'. So it may look like the following code snippet.

"OutPath": "{{.Dest}}{{.PS}}{{.AppName}}{{.PS}}{{.Version}}{{.PS}}{{.ExeName}}_{{.Version}}_{{.Os}}_{{.Arch}}{{.Ext}}"

Configuration file

For repeatable builds (and some extra options), it is recomended to use goxc with one or more configuration file(s) to save and re-run compilations.

To create a config file (.goxc.json), just use the -wc (write config) option.

goxc -wc -d=../site/downloads -bc="linux windows" xc -GOARM=7

You can also use multiple config files to support different paremeters for each platform.

The following would add a 'local' config file, .goxc.local.json. This file's contents will override .goxc.json. The idea of the .local.json files is to git-ignore them - for any local parameters which you only want on this particular computer, but not for other users or even for yourself on other computers/OS's.

goxc -wlc -d=../site/downloads

The configuration file(s) feature is documented in much more detail in the wiki

Github Releases

This is the good stuff, so let’s go from the top.

  • First, install Go from source, and goxc. See ‘Installation’, above

  • If you haven’t already, build toolchain (all platforms!). This takes a while.

	goxc -t
  • Write a config file .goxc.json with info about your repo
	goxc -wc default publish-github -owner=<username> 
	goxc -wc default publish-github -repository=<reponame>
	cat .goxc.json
  • Bump a version, to get a meaningful version number.
	goxc bump
  • Go to your github account and create a personal access token

https://github.com/settings/tokens

  • Write a local config file .goxc.local.json with your key info, ensuring that the key doesn’t end up in your git repo. See more about config files in the wiki
	goxc -wlc default publish-github -apikey=123456789012
	echo ".goxc.local.json" >> .gitignore

Note that you can put a dummy key into the commandline and edit the file later with the real key.

  • Now, cross-compile, package and upload. All in one go.
	goxc

There’s heaps of ways to reconfigure each task to get the outcome you really want, but this produces some pretty sensible defaults. Have fun.

Limitations

  • Tested on Linux and Mac recently. Windows - some time ago now.
  • Currently goxc is only designed to build standalone Go apps without linked libraries. You can try but YMMV
  • The API is not considered stable yet, so please don't start embedding goxc method calls in your code yet - unless you 'Contact us' first! Then I can freeze some API details as required.
  • Bug: issue with config overriding. Empty strings do not currently override non-empty strings. e.g. -pi="" doesnt override the associated config setting PackageInfo

License

Copyright 2013 Am Laher

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

See also

Comments
  • Config file

    Config file

    Would be nice to have some kind of config file, like .goxc. Then we can simply run goxc . in project folder

    destination = ./out/
    zip = false
    verbose = true
    [platforms]
    windows = 386
    linux = amd64
    

    Best regards, Dobrosław Żybort

  • Darwin and Windows version did not work, compiled from Linux64

    Darwin and Windows version did not work, compiled from Linux64

    I am the author of WeedFS, and used your tool to compile for version 0.31 for many platforms. It's great and thanks! However, seems the darwin and windows version do not work. I compiled it on linux. The linux version works well.

    https://code.google.com/p/weed-fs/downloads/list

    The goxc is up-to-date.

  • run goxc problem

    run goxc problem

    goxc -os=linux -arch=386 -bc=linux -z="false" -tasks=xc -v

    ... [goxc:xc] 2014/04/02 17:24:35 Stopping after 'xc' failed with error 'The xc task will attempt to compile multiple binaries to the same path (/projectx/snapshot/linux_386/com.nroed.datawarehouse). Please make sure {{.Os}} and {{.Arch}} variables are used in the OutPath' [goxc] 2014/04/02 17:24:35 RunTasks returned error The xc task will attempt to compile multiple binaries to the same path (/projectx/snapshot/linux_386/com.nroed.datawarehouse). Please make sure {{.Os}} and {{.Arch}} variables are used in the OutPath

  • Enable CI for linux and darwin

    Enable CI for linux and darwin

    Hi there, I love goxc! Full disclosure: I work for Travis CI. I submit this issue as an individual, not as a Travis representative. I noticed the note in the README about not really being tested on Mac, and wanted to present the option of testing on Travis with multi-os enabled such that tests can be run on linux/amd64 and darwin/amd64. Thoughts? :heart:

  • Source Package not working at all

    Source Package not working at all

    I used the pkg-source task to build a source package so that I could upload to launchpad.

    But, it's not working at all. I had to make some changes to debian/control and debian/changelog files to actually make it a valid source package.

    Then came the failing builds. Here's the log

    Main error being.

    cd /build/buildd/whitespaces-1.0.0~1/src && find * -name '*.go' -exec dirname {} \; | xargs -n1 go install
    /bin/sh: 1: cd: can't cd to /build/buildd/whitespaces-1.0.0~1/src
    

    I would like to work with you to fix this issue and probably even build a launchpad task.

  • Incompatible Version Toolchaining?

    Incompatible Version Toolchaining?

    I'm running goxc -t to build my toolchain, but subsequent builds of my project now take 10x longer:

    ➜  update_service git:(master) ✗ time GOPATH=/Users/leehambley/Projects/update_service go build -v *.go
    github.com/mgutz/ansi
    runtime/cgo
    net
    crypto/x509
    net/textproto
    mime/multipart
    crypto/tls
    net/http
    command-line-arguments
    GOPATH=/Users/leehambley/Projects/update_service go build -v *.go  1.78s user 0.64s system 101% cpu 2.389 total
    

    The advice from #go-nuts is "your compiler, and source directories don't match in versions"... recommended solution cd go/src; ./all.bash

    That leaves me with the current situation:

    [goxc:xc] 2013/08/01 09:03:45 'go' returned error: exit status 1
    [goxc:xc] 2013/08/01 09:03:45 Error: exit status 1
    [goxc:xc] 2013/08/01 09:03:45 Have you run `goxc -t` for this platform???
    [goxc:xc] 2013/08/01 09:03:45 No successes!
    [goxc:xc] 2013/08/01 09:03:45 Stopping after 'xc' failed with error 'exit status 1'
    

    Is goxc bundling an older version those standard libraries? I'm using go 1.1.1 directly from Google's repository installed from source on the latest OSX?

  • Pass Through Options For ldflags

    Pass Through Options For ldflags

    It's really cool the way that you pass through ldflags. It'd be great if we could specify other flags to export, perhaps as a map[string]string of something like:

    build_time: date +"%m-%d-%Y"
    something_else: ....
    
  • x509 failed to load system roots and no roots provided for Darwin builds with Go 1.1

    x509 failed to load system roots and no roots provided for Darwin builds with Go 1.1

    I am getting x509 failed to load system roots and no roots provided for Darwin builds. After some googling, I got to know I need to disable cgo (https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/z9Q1wTZNR7k). But looks like cgo is already disabled when building the toolchain (the Go version is 1.1). Here's the log: https://drone.io/github.com/jingweno/gh/184

  • Project Layout for multiple binaries

    Project Layout for multiple binaries

    Background

    I would like to have two separate binaries compiled by goxc and packaged into a single archive:

    • Server (Mock for testing only)
    • Client

    @laher Can you help me with that? I just trying to use go for my second small project. Thanks a lot in advance.

    Problem

    support for multiple binaries per project (goxc now searches subdirectories for 'main' packages)

    I'm not able to build the project with goxc though there seems to be support for projects with multiple binaries.

    The build fails with following error message:

    [goxc:go-vet] 2016/05/11 12:59:10 Task go-vet succeeded
    ?       github.com/my-project/logging-platform-client/api     [no test files]
    ?       github.com/my-project/logging-platform-client/cli     [no test files]
    # github.com/my-project/logging-platform-client/cmd
    cmd/test-server.go:41: main redeclared in this block
            previous declaration at cmd/logging-platform-client.go:7
    [goxc:go-test] 2016/05/11 12:59:10 'go' returned error: Wait error: exit status 2: # github.com/my-project/logging-platform-client/cmd
    cmd/test-server.go:41: main redeclared in this block
            previous declaration at cmd/logging-platform-client.go:7
    [goxc:go-test] 2016/05/11 12:59:10 Stopping after 'go-test' failed with error 'Wait error: exit status 2: # github.com/my-project/logging-platform-client/cmd
    cmd/test-server.go:41: main redeclared in this block
            previous declaration at cmd/logging-platform-client.go:7'
    [goxc] 2016/05/11 12:59:10 RunTasks error: Wait error: exit status 2: # github.com/my-project/logging-platform-client/cmd
    cmd/test-server.go:41: main redeclared in this block
            previous declaration at cmd/logging-platform-client.go:7
    

    Currently I structured the project the following way:

    [git:master]% tree
    .
    ├── api
    │   └── log.go
    ├── cli
    │   └── runner.go
    ├── cmd
    │   ├── logging-platform-client.go
    │   └── test-server.go
    ├── GoBuilds
    │   └── logging-platform-client
    │       └── 0.1.0
    └── Makefile
    

    Environment

    • goxc version: 0.17.1
    • goxc build date: empty
    • go version go1.6.2 linux/amd64
  • goxc does only build files with the host architecture

    goxc does only build files with the host architecture

    I am just trying the goxc tool for the first time, and after goxc -t and goxc -tasks-=package on my program I get the following:

    darwin_386/wam85: Mach-O 64-bit executable x86_64 darwin_amd64/wam85: Mach-O 64-bit executable x86_64 linux_386/wam85: Mach-O 64-bit executable x86_64 linux_amd64/wam85: Mach-O 64-bit executable x86_64 windows_386/wam85.exe: Mach-O 64-bit executable x86_64 windows_amd64/wam85.exe: Mach-O 64-bit executable x86_64

    I am on darwin/amd64, and the go build tree is from this mornings hg checkout. I used a config like this to make the toolchain:

    goxc -arch="386 amd64" -os="linux darwin windows" -wc

  • Binaries not building

    Binaries not building

    Hey @laher. I have recently changed to Mac from Linux. Running goxc on https://github.com/pksunkara/whitespaces is not building the binaries. As you can see from the below output, goxc is not bundling the binaries into the zip files.

    Can you fix it soon? Thanks.

    pksunkara@apicave →  make goxc
    goxc
    [goxc] 2015/04/02 02:23:06 Warning: could not establish list of source packages. Using working directory
    [goxc] 2015/04/02 02:23:06 Warning: could not find any main dirs: <nil>
    [goxc:go-vet] 2015/04/02 02:23:06 Task go-vet succeeded
    ?       github.com/pksunkara/whitespaces    [no test files]
    [goxc:go-test] 2015/04/02 02:23:07 Task go-test succeeded
    [goxc:go-install] 2015/04/02 02:23:07 Task go-install succeeded
    [goxc:xc] 2015/04/02 02:23:07 Parallelizing xc for 22 platforms, using max 3 of 4 processors
    [goxc:xc] 2015/04/02 02:23:07 Task xc succeeded
    [goxc:codesign] 2015/04/02 02:23:07 Task codesign succeeded
    [goxc:copy-resources] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:copy-resources] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:copy-resources] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:copy-resources] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:copy-resources] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:copy-resources] 2015/04/02 02:23:07 resources: [README.md LICENSE]
    [goxc:copy-resources] 2015/04/02 02:23:07 Copying file /Users/pksunkara/Coding/pksunkara/whitespaces/README.md to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/README.md
    [goxc:copy-resources] 2015/04/02 02:23:07 Copying file /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/LICENSE
    [goxc:copy-resources] 2015/04/02 02:23:07 Task copy-resources succeeded
    [goxc:archive-zip] 2015/04/02 02:23:07 Parallelizing archive-zip for 19 platforms, using max 3 of 4 processors
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_darwin_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_darwin_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_freebsd_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_freebsd_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_freebsd_arm.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_openbsd_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_openbsd_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_windows_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_windows_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_netbsd_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_netbsd_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_netbsd_arm.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_plan9_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_dragonfly_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_dragonfly_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_nacl_386.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_nacl_amd64p32.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_nacl_arm.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-zip] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-zip] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-zip] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_solaris_amd64.zip
    [goxc:archive-zip] 2015/04/02 02:23:07 Task archive-zip succeeded
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Parallelizing archive-tar-gz for 3 platforms, using max 3 of 4 processors
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_linux_386.tar.gz
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_linux_amd64.tar.gz
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 IncludeGlobs: [INSTALL* README* LICENSE*]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 ExcludeGlobs: [*.go]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/README.md for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Globbing /Users/pksunkara/Coding/pksunkara/whitespaces/LICENSE for exclusion /Users/pksunkara/Coding/pksunkara/whitespaces/*.go
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Resources to include: [README.md LICENSE]
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Artifact(s) archived to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_linux_arm.tar.gz
    [goxc:archive-tar-gz] 2015/04/02 02:23:07 Task archive-tar-gz succeeded
    [goxc:deb] 2015/04/02 02:23:07 WARNING - no debian 'control' file found. Use `debber` to generate proper debian metadata
    [goxc:deb] 2015/04/02 02:23:07 Wrote deb to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_i386.deb
    [goxc:deb] 2015/04/02 02:23:07 WARNING - no debian 'control' file found. Use `debber` to generate proper debian metadata
    [goxc:deb] 2015/04/02 02:23:07 Wrote deb to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_amd64.deb
    [goxc:deb] 2015/04/02 02:23:07 WARNING - no debian 'control' file found. Use `debber` to generate proper debian metadata
    [goxc:deb] 2015/04/02 02:23:07 Wrote deb to /Users/pksunkara/Coding/pksunkara/whitespaces/build/1.1.1/whitespaces_1.1.1_armhf.deb
    [goxc:deb] 2015/04/02 02:23:07 Task deb succeeded
    [goxc:deb-dev] 2015/04/02 02:23:07 WARNING - no debian 'control' file found. Use `debber` to generate proper debian metadata
    [goxc:deb-dev] 2015/04/02 02:23:07 Task deb-dev succeeded
    [goxc:rmbin] 2015/04/02 02:23:07 Task rmbin succeeded
    [goxc:downloads-page] 2015/04/02 02:23:07 Task downloads-page succeeded
    
  • [goxc] Failing build for Darwin on Go 1.15.x

    [goxc] Failing build for Darwin on Go 1.15.x

    Hey there,

    I am using the following command goxc -tasks 'xc archive' -bc 'darwin linux' -d "$RELEASES_PATH" -resources-include 'README*' -build-ldflags="-X github.com/weldpua2008/supraworker/cmd.GitCommit=${TRAVIS_TAG} "

    And with Go 1.15.x where they removed Darwin/386 I am getting:

    $ goxc -tasks 'xc archive' -bc 'darwin linux' -d "$RELEASES_PATH" -resources-include 'README*' -build-ldflags="-X github.com/weldpua2008/supraworker/cmd.GitCommit=${TRAVIS_TAG} "
    [goxc:xc] 2020/10/10 11:50:57 Parallelizing xc for 5 platforms, using max 1 of 2 processors
    [goxc:xc] 2020/10/10 11:50:57 WARNING: LdFlagsXVars is nil. Not passing package version into compiler
    cmd/go: unsupported GOOS/GOARCH pair darwin/386
    [goxc:xc] 2020/10/10 11:50:57 'go' returned error: Wait error: exit status 2: cmd/go: unsupported GOOS/GOARCH pair darwin/386
    [goxc:xc] 2020/10/10 11:50:57 Error: Wait error: exit status 2: cmd/go: unsupported GOOS/GOARCH pair darwin/386
    [goxc:xc] 2020/10/10 11:50:57 Have you run `goxc -t` for this platform (386,darwin)???
    [goxc:xc] 2020/10/10 11:50:57 WARNING: LdFlagsXVars is nil. Not passing package version into compiler
    [goxc:xc] 2020/10/10 11:51:28 WARNING: LdFlagsXVars is nil. Not passing package version into compiler
    [goxc:xc] 2020/10/10 11:51:58 WARNING: LdFlagsXVars is nil. Not passing package version into compiler
    [goxc:xc] 2020/10/10 11:51:59 WARNING: LdFlagsXVars is nil. Not passing package version into compiler
    [goxc:xc] 2020/10/10 11:52:29 Multiple errors (returning first one): [Wait error: exit status 2: cmd/go: unsupported GOOS/GOARCH pair darwin/386]
    [goxc:xc] 2020/10/10 11:52:29 Stopping after 'xc' failed with error 'Wait error: exit status 2: cmd/go: unsupported GOOS/GOARCH pair darwin/386'
    [goxc] 2020/10/10 11:52:29 RunTasks error: Wait error: exit status 2: cmd/go: unsupported GOOS/GOARCH pair darwin/386
    The command "goxc -tasks 'xc archive' -bc 'darwin linux' -d "$RELEASES_PATH" -resources-include 'README*' -build-ldflags="-X github.com/weldpua2008/supraworker/cmd.GitCommit=${TRAVIS_TAG} "" failed and exited with 1 during .
    
    

    the temporary solution was to use 1.14.x

  • [goxc] 2018/10/01 15:04:59 RunTasks error: Wait error: exit status 2 vendor/gopkg.in/goracle.v2

    [goxc] 2018/10/01 15:04:59 RunTasks error: Wait error: exit status 2 vendor/gopkg.in/goracle.v2

    Hi, Try to create a build and getting following errors.

    vendor/gopkg.in/goracle.v2/orahlp.go:65:2: undefined: describeOnly vendor/gopkg.in/goracle.v2/orahlp.go:228:26: undefined: PlSQLArrays vendor/gopkg.in/goracle.v2/orahlp.go:251:32: undefined: VersionInfo vendor/gopkg.in/goracle.v2/orahlp.go:254:10: undefined: VersionInfo vendor/gopkg.in/goracle.v2/orahlp.go:260:32: undefined: VersionInfo vendor/gopkg.in/goracle.v2/orahlp.go:277:19: undefined: VersionInfo vendor/gopkg.in/goracle.v2/orahlp.go:278:30: undefined: ObjectType vendor/gopkg.in/goracle.v2/orahlp.go:279:31: undefined: Event vendor/gopkg.in/goracle.v2/orahlp.go:279:41: undefined: Subscription vendor/gopkg.in/goracle.v2/orahlp.go:289:27: undefined: conn vendor/gopkg.in/goracle.v2/orahlp.go:254:10: too many errors

    ======= Host env details ====== MAC OS: x86_64 16.7.0 Darwin Kernel Version 16.7.0

    go env

    GOARCH="amd64" GOBIN="" GOCACHE="/Users/206062/Library/Caches/go-build" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/206062/git/go" GORACE="" GOROOT="/usr/local/Cellar/go/1.10.2/libexec" GOTMPDIR="" GOTOOLDIR="/usr/local/Cellar/go/1.10.2/libexec/pkg/tool/darwin_amd64" GCCGO="gccgo" CC="clang" CXX="clang++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/y8/332tkm8n2vlg_z15c0nnyy_xs0ccb_/T/go-build596531477=/tmp/go-build -gno-record-gcc-switches -fno-common"

    gcc version

    Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin16.7.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin

  • gofmt

    gofmt

    Just ran

    gofmt -w .
    

    on the project root. That's all.

    https://blog.golang.org/go-fmt-your-code


    I made this PR with a project going on over at https://github.com/rotblauer/gofmt-att, and it's definitely a work in progress. So if I got something wrong, or this is annoying at all, please file an issue over there and we'll sort it out.

  • Simplify for Go 1.5+ world

    Simplify for Go 1.5+ world

    Hey there- @18F are big users of this tool. We distribute our binaries via GitHub releases, so the uploading part is a very useful for us. As you say in the README,

    Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are still many aspects of goxc which I'm very proud of, and some packaging features in particular, which are still useful.

    I'm wondering if you would consider (a pull request for) taking out the low-level cross-compilation bits, possibly even delegating to a more specific tool like gox for the higher-level ones, and making goxc focus on everything above that? Thanks!

Related tags
Automatically creates Debian packaging for Go packages

dh-make-golang is a tool to automatically create Debian packaging for Go packages. Its goal is to automate away as much of the work as possible when c

Nov 25, 2022
Please is a cross-language high-performance extensible build system for reproducible multi-language builds.

Please is a cross-language build system with an emphasis on high performance, extensibility and reproducibility. It supports a number of popular languages and can automate nearly any aspect of your build process.

Dec 30, 2022
CBuild build system - A tiny build system for C

cuild - CBuild A build system for C Building $ go build . Usage Similar to GNU Make, a file named "Cuildfile" is required. You have a few flags to us

Jan 17, 2022
🌍 Earthly is a build automation tool for the container era
 🌍 Earthly is a build automation tool for the container era

?? Earthly is a build automation tool for the container era. It allows you to execute all your builds in containers. This makes them self-contained, repeatable, portable and parallel. You can use Earthly to create Docker images and artifacts (eg binaries, packages, arbitrary files).

Dec 30, 2022
Build system and task runner for Go projects
Build system and task runner for Go projects

Gilbert is task runner that aims to provide declarative way to define and run tasks like in other projects like Gradle, Maven and etc.

Dec 21, 2022
Build and (re)start go web apps after saving/creating/deleting source files.

unmaintained Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web f

Jan 2, 2023
Create build pipelines in Go

taskflow Create build pipelines in Go This package aims to simplify the creation of build pipelines in Go instead of using scripts or Make. taskflow A

Dec 30, 2022
Colorize (highlight) `go build` command output
Colorize (highlight) `go build` command output

colorgo colorgo is a wrapper to go command that colorizes output from go build and go test. Installation go get -u github.com/songgao/colorgo Usage c

Dec 18, 2022
EGo lets you build, debug und run Go apps on Intel SGX - as simple as conventional Go programming!

EGo is a framework for building confidential apps in Go. Confidential apps run in always-encrypted and verifiable enclaves on Intel SGX-enabled ha

Dec 28, 2022
Build systems with Go examples
Build systems with Go examples

What is this? This is a repository containing all the examples from the book BUILD SYSTEMS with GO (and save the world). This book is written to help

Dec 23, 2022
An experimental way to apply patches to the Go runtime at build time.

go-patch-overlay An experimental way to apply patches to the Go runtime at build time. Assuming you have a directory of patches to apply to the Go sou

Oct 31, 2022
Blueprint Build System For Golang

Blueprint Build System Blueprint is being archived on 2021 May 3. On 2021 May 3, we will be archiving the Blueprint project. This means it will not be

Nov 20, 2021
Various tools for usage with Golang like installer, github tool and cloud features.

Gopei2 (Go Programming Environment Installer) Gopei shell install Go compiler, LiteIDE and configure for you the entire environment, variables, paths,

Dec 23, 2022
🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.
🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

gowatch 中文文档 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file. Installation To insta

Dec 30, 2022
Tool to check for dependency confusion vulnerabilities in multiple package management systems

Confused A tool for checking for lingering free namespaces for private package names referenced in dependency configuration for Python (pypi) requirem

Jan 2, 2023
An extremely opinionated TypeScript monorepo tool.

Unirepo is an extremely opinionated TypeScript build tool. Typical monorepo management tools in the Node.js ecosystem provide automation aroun

Nov 29, 2022
a Make/rake-like dev tool using Go
a Make/rake-like dev tool using Go

About Mage is a make-like build tool using Go. You write plain-old go functions, and Mage automatically uses them as Makefile-like runnable targets. I

Jan 7, 2023
A simple tool to help WoW repack administrators manipulate the repack database(s)

WoW Repack Manipulator This tool makes it easier for an administrator of a WoW Repack (private WoW server, basically) to manipulate the database that

Feb 7, 2022
Monitoring changes in the source file and automatically compile and run (restart).
Monitoring changes in the source file and automatically compile and run (restart).

dogo Monitoring changes in the source file and automatically compile and run (restart). 中文 Install go get github.com/liudng/dogo Create config Here's

Dec 28, 2022