Skip to content
This repository has been archived by the owner on Jun 16, 2022. It is now read-only.
laher edited this page Oct 19, 2013 · 7 revisions

Todo

Contributions welcome via pull requests, thanks. Please use github 'issues' for discussion.

TODOs in no particular order

  • Done 0.8.x: Completion of 'source deb' support.
  • improve bintray support. More options (e.g. "replaceOnConflict" : true). Support for .deb style repos.
  • Improve .deb support (more config options. Support for changelog etc)
  • custom tasks idea 1:
    • 'exec' task (impetus for labels)
    • 'labels' for tasks (so you can create multiple configs per task, e.g. exec:gen-sources and exec:gen-docs). Or similar.
  • custom tasks idea 2: task names defined in config
  • Bug: issue with config overriding. Empty strings do not currently override non-empty strings. Would involve more involved use of json and flagSet packages.
  • Cancelled (not good for encouraging contributions): switch to laher.net.nz namespace? e.g. v1.laher.net.nz/goxc or go.laher.net.nz/v1/goxc
  • Meaningful godocs everywhere
  • Improve test coverage
  • Improved in 0.8: much more error handling and potentially stop-on-error=true flag
  • Option to specify precise dir & name for a particular artifact?
  • Refactoring: various task functions into separate packages (for public consumption?)
  • More control over logging output (-q, -v and possibly -vv)
  • 'launchpad' task. I guess this would depend on the 'source deb' task.
  • add specific archive-zip and archive-tgz tasks.
  • -f (force) option
  • DONE 0.9: Add option ldflags variable interpolation for main.VERSION variable name and other build flags. Use template for ldflags.
  • Reintroduce static varable interpolation (write value into source code) as a task. Option for variable name.
  • Permit unrecognised platforms (as Golang adds more)
  • Refactoring: Utilise/copy from gotools source
  • Done - 0.8.x: Configurable 'downloads' page: name, format (e.g. markdown,html,ReST,jekyll-markdown), header/footer template
  • Generate 'downloads overview' page (append each version's page as a relative link) ?
  • Other Packaging (deb already done) e.g. (done) source deb, .srpm & .rpm, .pkg? ... installer?
  • Done 0.9: Improve sanity check: automatically build target toolchain if missing? (need to work out detection mechanism)
  • Improve sanity check: 'download golang source' option?
  • Improve sanity check: warn about non-core libraries and binary dependencies?
  • building .so/.dll shared libraries?
  • Maybe someday: Build plugins (for OS-specific wizardry and stuff)? Pre- and post-processing scripts?
  • Maybe someday: Investigate [forking and ?] hooking directly into the gotools source, instead of using os.exec. Fork would be required due to non-exported functions.
  • Maybe someday: Use goroutines to speed up 'xc' (not toolchain because it recompiles host toolchain first)
  • Maybe someday: support for building non-Go dependencies.
  • Maybe: Respect +build flags inside file comments (problematic due to per-file basis rather than per-package)
  • Maybe: pre- & post-build scripts to run? pre-and-post for any task?
  • Maybe: Capability to run multiple configs at once? -c=a,b
Clone this wiki locally