perkeep/HACKING

60 lines
1.8 KiB
Plaintext

Camlistore contributors regularly use Linux and OS X, and both are
100% supported.
Developing on Windows is sometimes broken, but should work. Let us
know if we broke something, or we accidentally depend on some
Unix-specific build tool somewhere.
See http://camlistore.org/docs/contributing for information on how to
contribute to the project and submit patches. Notably, we use Gerrit
for code review. Our Gerrit instance is at https://camlistore.org/r/
See architecture docs: https://camlistore.org/docs/
You can view docs for Camlistore packages with local godoc, or
godoc.org.
It's recommended you use git to fetch the source code, rather than
hack from a Camlistore release's zip file:
$ git clone https://camlistore.googlesource.com/camlistore
(We use github for distribution and collaboration with some people,
but the Gerrit git server & code review system is the main repo. See
http://camlistore.org/docs/contributing for how to use them.)
On Debian/Ubuntu, some deps to get started:
$ sudo apt-get install libsqlite3-dev sqlite3 pkg-config git
During development, rather than use the main binaries ("camput",
"camget", "camtool", "cammount", etc) directly, we instead use
wrappers that automatically configure the environment to use the
test server & test environment:
$ ./dev-camput
$ ./dev-camget
$ ./dev-camtool
$ ./dev-cammount
... etc.
We are in the process of migrating those scripts to a go command
with subcommands: devcam. To install (assuming your GOPATH is set):
$ go install ./dev/devcam
The ./dev-server and ./dev-appengine scripts have already been replaced by:
$ devcam server
$ devcam appengine
Then, once the dev server is running,
- Upload a file:
./dev-camput file ~/camlistore/COPYING
- Create a permanode:
./dev-camput permanode
- Use the UI: http://localhost:3179/ui/
Please update this file as appropriate.