You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Unknown 1941040a84 keep modify time for packages in github.com and gitbucket.org 12 years ago
conf keep modify time for packages in github.com and gitbucket.org 12 years ago
doc keep modify time for packages in github.com and gitbucket.org 12 years ago
docs readme 12 years ago
i18n add feature auto-enable flags in configuration file. 12 years ago
repo/bundles add support for downloading packages from bitbucket.org through tag and branch 12 years ago
utils fix bug in command remove 12 years ago
.gitignore v0.1.4 Build 0522 12 years ago
.travis.yml license and readme 12 years ago
LICENSE initialize 12 years ago
README.md keep modify time for packages in github.com and gitbucket.org 12 years ago
README_ZH.md fix bug in command remove 12 years ago
build.go add feature auto-enable flags in configuration file. 12 years ago
gpm.go add feature auto-enable flags in configuration file. 12 years ago
gpm_test.go v0.1.5 Build 0523 12 years ago
install.go keep modify time for packages in github.com and gitbucket.org 12 years ago
remove.go fix bug in command remove 12 years ago

README.md

gpm - Go Package Manager

GPMGo_Logo

gpm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go.

Build Status Build Status Coverage Status

(Travis CI hasn't support Go 1.1 yet)

This application still in experiment, any change could happen, but it doesn't affect download and install packages.

Main features

  • Download packages from popular project hosting with/without version control tools.
  • Remove packages from local file system.
  • More specific examples, see Quick Start.

Main commands

  • build compiles and installs packages and dependencies: basically, it calls go install and moves executable to current path from GOPATH if any, the executable name is the folder name which is default by go install.
  • install downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot). For now, this command supports code.google.com, github.com, launchpad.net, bitbucket.org.
  • remove removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot).

Known issues

  • When you use commands like gpm install -p bitbucket.org/zombiezen/gopdf where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use gpm install -p bitbucket.org/zombiezen/gopdf/pdf in order to go through all steps correctly.

Todo

v0.2.*

  • Command search is for searching packages.
  • Add gpm working principle design.
  • Command install and remove Add bundle and snapshot parser code for downloading or removing by bundle or snapshot.
  • Command check is for checking and downloading all missing dependencies.
  • Command update is for checking updates.
  • Command remove also need to remove files in GPPATH/bin and GOPATH/pkg.
  • i18n support for Chinese.
  • Add built-in application version in order to backup data when users update.
  • Command install add flag -pc which only downloads source files(including LICENSE and README).
  • Add template projects for testing commands.

Future

  • Command sync is for sync packages in two computers, support client and server mode through ssh.
  • Command init is for auto-configuring Go develop environment.
  • Command install and remove and update backup data(up to 100 records) before executing.
  • Command rollback is for rolling back to certain operation.
  • Add feature "struct generator".
  • Command remove add flag -d for removing dependencies at the same time.
  • Command remove add feature check for dependencies, make sure other packages don't import this one, and give choose for users.
  • Command install add flag -all for re-installing everything in GOPATH, usually use this after upgrading Go version.
  • Command clean is for cleaning empty directories.
  • Command daemon is for auto-compile web applications when debug it locally.
  • Collect download and installation results and report to users in the end.
  • Add user system to create, edit, upload, and download bundles or snapshots through gpm client program.
  • Develop user source API server template application to support user sources in bundles.
  • Add support for downloading tarballs from user sources.
  • After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well.
  • Download package from code.google.com only support hg as version control system, probably support git and svn.
  • Command install add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com;
  • Command install add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com.

License

MIT-STYLE, source files that contain code that is from gopkgdoc is honored in specific.