forked from gkossakowski/gimd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
63 lines (36 loc) · 1.86 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
gimd
Git Message Database
gimd (pronounced gim-dee) provides a small distributed database layered on top of the powerful Git
version control system.
=== Building ===
Gimd recently switched to Simple Build Tool from Maven due to the fact that sbt treats 'simple' word
seriously.
Enter root directory and type:
$ ./sbt update
Sbt will compile project definition and download all dependencies.
Once it's done type:
$ ./sbt
Sbt will enter to the interactive mode. In the interactive you can type different commands that sbt
will execute.
In order to compile Gimd jus enter: compile
Consult sbt's documentation for further details:
http://code.google.com/p/simple-build-tool/wiki/DocumentationHome
=== Testing ===
In sbt's interactive mode it's enough to type: test
Sbt will compile all tests and execute them.
Gimd uses JUnit 4.x and ScalaCheck 1.7 testing libraries at the moment.
=== Running sample ===
In sbt's interactive mode switch to console by typing: console
Once you are in Scala's REPL (with Gimd's libraries loaded) load sample script by typing:
:load sample.scala
It will load sample script that defines some custom class and it's binding to Gimd's data
structures, adds some sample data and executes some queries.
You can play with your db by doing some more complex queries, e.g.:
scala> db.query(MyUserFileType, MyUserType.query where { x => (x.age === 0) && (x.name < "user20") }) foreach println
User(user182,[email protected],0)
=== Contributing ===
At the moment gimd is little bit in a state of flux due to Move to Scala 2.8 and sbt so contributing
can be difficult.
Anyway feel free to join http://groups.google.com/group/gimd-discuss
This section will get updated as soon as there is an official Scala release that does not crash on
gimd so contributing will become much easier.