diff options
Diffstat (limited to 'DEVELOPER_GUIDE.txt')
-rw-r--r-- | DEVELOPER_GUIDE.txt | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/DEVELOPER_GUIDE.txt b/DEVELOPER_GUIDE.txt index e42277e..a26d760 100644 --- a/DEVELOPER_GUIDE.txt +++ b/DEVELOPER_GUIDE.txt @@ -1,17 +1,28 @@ Welcome developer. -CBT has a very easy code base that you can fully master in very little time. +CBT has a very easy code base that's easy to master. Don't shy away from submiting PRs :). And because CBT bootstraps from source you already have the code there. +The only tricky parts are class loading and cache invalidation. Most changes +will not need to interfere with this though. + The ./cbt bash script starts the process. You currently need javac, nailgun, gpg and realpath or gcc installed. +If you have any troubles with class not found, method not found, +abstract method error, NullPointerException, etc. +Try `killall -KILL java`. To restart nailgun. +Or try `cbt direct <taskname>` to circumvent nailgun. +It can also help to delete all target folders `find .|grep target\$|xargs rm -rf` +inside of CBT. Or (almost never) the `cache/` directory. + 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. +compatibility/ Java interfaces that all CBT versions are source compatible to. For communication + between composed builds of different versions. 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. |