Awesome
rbkit-client
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:
-
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
-
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.