Below is a developer guide if you want to hack on Codebrag yourself.
If you are looking for general information on the project, please see the main website.
If you are just looking for installation or upgrade instructions, please refer to the wiki.
Prerequisites:
- sbt 0.13.6
- nodejs 0.10.13 or newer (make sure
node
andnpm
are available onPATH
)
- Configure
local.conf
in thecodebrag
home directory basing oncodebrag-rest/src/main/resources/application.conf.template
- Checkout a SVN/Git repository to chosen
repos-root
folder - Codebrag won't do that for you! - Navigate to the
codebrag
home directory - Execute
./run.sh
script - Default browser should open at
localhost:9090
- Go to project dir
- Configure
local.conf
in thecodebrag
home directory basing oncodebrag-rest/src/main/resources/application.conf.template
- Start sbt with
sbt
- Open project in your favorite IDE
- Run backend server on jetty with
~ container:start
. Project will be recompiled & redeployed every time Scala sources will be changed. - Go to
codebrag-ui
project. If this is your first attempt, runnpm install
. This will install all the dependencies required to start UI Codebrag application. Then run./node_modules/.bin/grunt server
. If you havegrunt
installed globally you can usegrunt server
instead.
Default browser should open at https://localhost:9090
For more information about UI application build please consult README in codebrag-ui project
You may want to run Codebrag without backend services e.g. to work on frontend side (HTML, CSS).
Follow the instructions in codebrag-ui
project README to install all required stuff.
When Codebrag is run, appending ?nobackend
to any URL lets you work with stubbed data - with no backend required.
If you want to execute tests from sbt and skip slow cases requiring database, you can execute following command:
test-only * -- -l requiresDb
For logging we use SLF4J+Logback. An example configration file can be found in scripts/logback-example.xml
. To use a
configuration file, either place a logback.xml
file in the bundle, or specify an external one using
-Dlogback.configurationFile
.
- Start sbt, change subproject:
project codebrag-dist
- Run:
assembly
- This will create a fat-jar. To start Codebrag with the given configuration, run:
java -Dconfig.file=[path to .conf file] -Dlogback.configurationFile=logback.xml -jar codebrag-dist-assembly-[version].jar
When using the embedded SQL storage, it may be useful to browse the tables. H2 provides consoles, which can be run as follows:
- For a web console, run from sbt:
codebrag-dao/run-h2-console
- For a command line console, run
java -Dconfig.file=codebrag.conf -cp [path to the fat JAR] com.softwaremill.codebrag.dao.sql.H2ShellConsole