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