aboutsummaryrefslogtreecommitdiff
path: root/DEVELOPER_GUIDE.txt
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-04-27 22:30:42 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2016-04-28 13:34:01 -0400
commit9951f3f3e65337d2ca567ffb1760a6545fe14998 (patch)
tree0f9aba63ec55a1d47756b9c376156e2e06ae06b3 /DEVELOPER_GUIDE.txt
parentf515fc42cc95f8638e39d0c1c99882192118c9e2 (diff)
downloadcbt-9951f3f3e65337d2ca567ffb1760a6545fe14998.tar.gz
cbt-9951f3f3e65337d2ca567ffb1760a6545fe14998.tar.bz2
cbt-9951f3f3e65337d2ca567ffb1760a6545fe14998.zip
Add debugging tips to the dev docs
Diffstat (limited to 'DEVELOPER_GUIDE.txt')
-rw-r--r--DEVELOPER_GUIDE.txt15
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.