-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDEVELOPER_GUIDE.txt
26 lines (19 loc) · 1.44 KB
/
DEVELOPER_GUIDE.txt
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
Welcome developer.
CBT has a very easy code base that you can fully master it in an afternoon.
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.