kifoo SVN
Status: Pre-Alpha
Brought to you by:
wabu_
| File | Date | Author | Commit |
|---|---|---|---|
| doc | 2009-01-11 | wabu_ | [r14] little maven config |
| src | 2009-04-22 | wabu_ | [r219] new factory interface |
| .pmd | 2009-03-17 | wabu_ | [r148] added pmd and findbugs to project settings |
| .ruleset | 2009-03-19 | wabu_ | [r154] workaround pmd bug |
| LICENSE.txt | 2009-01-11 | wabu_ | [r70] for non utf8 users |
| pmd-rules.xml | 2009-01-12 | wabu_ | [r93] excluded idiotic pdm rule |
| pmd.xml | 2009-01-11 | wabu_ | [r35] fixed pdm |
| pom.xml | 2009-04-19 | wabu_ | [r218] added some deps for advanced imples |
| rave.java | 2009-03-14 | wabu_ | [r131] pseudo java code for RAVE form go-computer list |
| readme.txt | 2009-03-20 | wabu_ | [r163] some docu |
| todo.txt | 2009-01-11 | wabu_ | [r25] added todo list |
= Project Setup =
== Build ==
we use maven to build the program. get maven at http://maven.apache.org/
a short list of helpfull commands:
compile: mvn compile
test: mvn test
package: mvn package
eclipse: mvn eclipse:eclipse
reports: mvn site
scm: mvn scm:update
mvn scm:add -Dinclude="src/**"
mvn scm:checkin
run: java -server -Xnoclassgc -Xms2g -Xmx2g -jar /home/wabu/pro/kifoo/target/kifoo-1.0-SNAPSHOT.jar
== SCM ==
svn for that: svn co https://kifoo.svn.sourceforge.net/svnroot/kifoo kifoo
i use git internally, so I also would be happy to use git, but svn is ok for me
== Eclipse Setup ==
Get the following plugins:
- subclipse http://subclipse.tigris.org/update_1.4.x
- m2e http://m2eclipse.sonatype.org/update/
- pmd http://pmd.sourceforge.net/eclipse
- findbugs http://findbugs.cs.umd.edu/eclipse/
- scala http://www.scala-lang.org/scala-eclipse-plugin
The best way to check out the projet is to use the svn or git svn commands on
the console, but you also can use the ecipse for that:
import->maven->checkoutMavenProjectsformSVM->...
currently eclipse somtimes is a little strage, so heres a list of thing you
should do after the checkout:
- let maven fix your project setup:
rightclick on project -> run as -> maven build
enter eclipse:eclipse into the goals field and run
refresh the project (rightclick -> refresh)
- add the scala build path to project:
rightclick on project -> build path -> configure build path
add flolder
select src/main/scala and src/test/scala
change outputfolder of kifoo/src/test/scala to kifoo/target/test-classes
- thats it i think, perhaps you have to change your pmd and findbugs settings ...
= Design and good Practises =
== Unit Testing ==
Year, they take some time to be written, but it's worth it.
== Hudson CI ==
I set up an Hudson Continues Integration server. It bitches when you break
code and tests, it creates stats about the `quality` of the source ...
It really should *help* us, so please stay clam if hudson teases you about
breaking the code. It often is *helpful*, if hudson begins to shout, when you
forgot to check in an source-file, your code does not compile on java-1.5 or
your code gets to unstable. Better know about it now, as after your 2 weeks of
holiday ;)
== SelfType ==
TODO: Docu
== Copyable ==
TODO: Docu
= T3h sourzes =
de...gameai.game interfaces for game, player ...
de...gameai.game.search interfaces for search
de...gameai.game.search.mcts implementation of mcts search
de...gameai.jgame hacky adapter code for JGameAI
de...gameai.go implementation of go with monte carlo sampling
de...gameai.go.goban hierarchical goban implementation
No time now to write more doc ... sry. but ask me if you have questions. I use
some not to common patterns, as we want to get speed, expandable code and
java (which makes the expandable code quite complicated).
== Game Strukture ==
TODO: Docu
TODO: Create interfaces for Observer, Player, Game ...
== MCTS Search ==
TODO: Docu
== Go Implementation ==
TODO: Goban
== Configuration Management and Running ==
TODO: Not Implemented yet
== JGameAI Adapters ==
TODO: write intro