Skip to content

dastanko/java-koans

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Running Instructions:

  • Download and unarchive the contents of the most recent java-koans in development from: https://github.com/matyb/java-koans/archive/master.zip
  • Open a terminal and cd to the directory you unarchived: cd <the directory you just unarchived>
  • Within it you'll find:
    • koans: this directory contains the application and its lessons, it is all that is needed to advance through the koans themselves and it can be distributed independently
    • lib/koans-lib: the directory for source code for the engine that executes the koans
    • lib/koans-tests: the directory for tests to check the sanity of the application
    • lib/file-compiler: the dynamic compiler module that loads newly saved java files into the JVM as classes
    • lib/file-monitor: the file monitoring module for notifying the app when files are saved
    • lib/util: application agnostic interfaces and utilities shared in projects
  • Change directory to the koans directory: cd koans
  • If you are using windows enter: run.bat or sh run.sh if you are using Mac or Linux.

Developing a Koan:

  • Follow any of the existing koans as an example to create a new class with koan methods (indicated by the @Koan annotation, they're public and specify no arguments)
  • Define the order the koan suite (if it's new) will run in the koans/app/config/PathToEnlightenment.xml file
  • Optionally you may use dynamic content in your lesson, examples are located in the XmlVariableInjector class (and Test) and the AboutKoans.java file

Something's wrong:

  • If the koans app is constantly timing out compiling a koan, your computer may be too slow to compile the koan classes with the default timeout value. Update the compile_timeout_in_ms property in koans/app/config/config.properties with a larger value and try again.
  • If you're running the koans command with the class and/or method arguments, the app may hang if the class you saved won't compile. Until this is fixed, when you you suspect this is occuring revert to a state the file compiled and try again.

About

A framework and lessons to learn java syntax and idioms in a logical sequence.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published