Rbkit Desktop application
C++ HTML Shell Other C CMake Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
msgpack-c
nzmqt
rbkit-app
rbkit-charts
rbkit-lib
tests
tools
zeromq-4.0.4
.gitignore
.qmake.conf
.travis.yml
CMakeLists.txt
LICENSE
README.md
RbkitClient.pro
common.pri

README.md

rbkit-client

Build Status

Rbkit

Usage

Rbkit client will be released as executable applications for OSX, Linux and Windows platforms. The app can be opened simply by double clicking on it. Currently, you can download and try the OSX build of the latest pre-release version from here.

Click here to watch a video of Hemant demonstrating some of the early Rbkit features at the RockyMountain RubyConf 2014.

Development

Requirements

You need Qt on your system in order to build the project. It's recommended to install Qt Creator which is an IDE for Qt projects.

Compiling on Linux & OS X

Currently there are 2 ways to compile rbkit-client on mac, with Qt Creator and with cmake:

  1. Using Qt Creator Assuming you have Qt 5.3.x version installed somewhere on your Linux box, after cloning the repository you should follow the steps bellow:

    • Open QtCreator
    • Click on Open Project
    • Navigate to the rbkit-client directory
    • Double-click CMakeLists.txt file
    • In the wizard choose you build directory
    • Next enter path to your cmake executable, usually in /usr/local/bin/cmake
    • Next click on Run Cmake
    • After configuring click the run icon to start the client
  2. Using cmake

    • Running a shadow build, i.e building from a separate directory is very simple. Just create a build directory, say ~/rbkit-build. Lets say source code is cloned at ~/rbkit-client.

    • Create a build directory, say ~/rbkit-build

      $ mkdir -p ~/rbkit-build && cd ~/rbkit-client
    • Run cmake and make

      $ cmake ../rbkit-client
      $ make
    • And that should give you rbkit-app/RBKitClient executable, which you can go ahead and run:

      $ ./rbkit-app/RBKitClient

Testing Framework integration

Right now, QTest framework is integrated. So, if you make a build, then tests will be built under $BUILD_DIR/tests folder. Those executables can be run from commandline directly.

NOTE: For running benchmarks, there should be a file called hugedump under tests/msgpack folder. This file is not checked in, because in my machine, it is occupying 67mb. So, its better to keep this file out of source control. For running tests, simply copy the file tests/msgpack/objectdump to tests/msgpack/hugedump.

$ mkdir -p ~/rbkit-build
$ cd ~/rbkit-build

# in build directory, one can invoke qmake and specify cloned directory
# as source. This is pretty much shallow build.
$ qmake ~/rbkit-client -r -spec macx-g++ CONFIG+=debug CONFIG+=x86_64
CONFIG+=declarative_debug CONFIG+=qml_debug

# Makefile will be generated by qmake. Just run make
$ make

# run tests by invoking rctests
$ ./tests/rctests

Debugging Qt Webkit applications.

After adding following line in code,

QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);

You can debug js applications running inside Qt via simple "inspect element", like we do in Chrome or other webkit browsers. Dead simple.

Cleaning up build files

If you suspect that there are build files left over in msgpack and zeromq folders, run this command to clean them up.

  $ git clean -dxf msgpack-c zeromq zeromq-4.0.4

Releasing a new version

Create a dmg for OSX platform

Update the VERSION value in RbkitClient.pro file to reflect the new version. Run macdeployqt RbkitClient.app -dmg where RbKitClient.app is the OSX deployment created by Qt Creator when you built the project locally. Doing this gives you a dmg file.

Tag and draft a release

Github allows you to draft releases and attach files along with the releases. Click here to draft a release. Releases always happen from the master branch. Tag the commit with the version to be released. We follow semantic versioning. Upload the dmg file on the release draft and submit.