Codebrag
THIS PROJECT IS NOT MAINTAINED! FEEL FREE TO FORK :)
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.
Developer guide
Prerequisites:
sbt 0.13.6
nodejs 0.10.13 or newer (make sure node and npm are available on PATH)
Quick Start
Configure local.conf in the codebrag home directory basing on codebrag-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
Working with the application:
Go to project dir
Configure local.conf in the codebrag home directory basing on codebrag-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, run npm install. This will install all the dependencies required to start UI Codebrag application. Then run ./node_modules/.bin/grunt server. If you have grunt installed globally you can use grunt server instead.
Default browser should open at http://localhost:9090
For more information about UI application build please consult README in codebrag-ui project
Run Codebrag with stubbed backend
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.
Skipping slow tests
If you want to execute tests from sbt and skip slow cases requiring database, you can execute following command: test-only * -- -l requiresDb
Logging
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.
Create distribution
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
H2 console
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/runH2Console
For a command line console, run java -Dconfig.file=codebrag.conf -cp [path to the fat JAR] com.softwaremill.codebrag.dao.sql.H2ShellConsole