aboutsummaryrefslogblamecommitdiff
path: root/DEVELOPER_GUIDE.txt
blob: e42277e8f1d8be3cbb8e0fd17d7bccc3a3872e4d (plain) (tree)
1
2
3
4
5

                  
                                                                            

                                                                            














                                                                                                                                    





                                                                                
Welcome developer.

CBT has a very easy code base that you can fully master in very little time.
Don't shy away from submiting PRs :). And because CBT bootstraps from source
you already have the code there.

The ./cbt bash script starts the process.

You currently need javac, nailgun, gpg and realpath or gcc installed.

CBT's directory structure

cbt                 Shell script launching cbt. Can be symlinked.
bootstrap_scala/    Self-contained downloader for the core Scala jars. Allows bootstrapping from Java into Scala.
nailgun_launcher/   Self-contained helper that allows using Nailgun with minimal permanent classpath. (Is this actually needed?)
realpath/           Self-contained realpath source code to correctly figure our CBTs home directory. (Open for replacement ideas.)
stage1/	            CBT's code that only relies only on Scala/Java built-ins. Contains a Maven resolver to download libs for stage2.
stage2/             CBT's code that requires additional libs, e.g. barbary watchservice.
test/               Unit tests that can serve as example builds
sonatype.login      Sonatype credentials for deployment. Not in git obviously.

CBT follows an optimistic merging approach. (See http://hintjens.com/blog:106).
We strongly suggest well polished PRs, but don't want to stall improvements
by discussions about minor flaws. As long as the PR does not break anything and
improves the product, we should merge it, polishing remaining things afterwards.