bradjonesca / EventStore

The open-source, functional database with Complex Event Processing in JavaScript.

Home Page:http://geteventstore.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Event Store

The documentation has now moved to the wiki in this repository. For a quick start, look here.

Development is on the "dev" branch (and feature branches). Please make any pull requests to the "dev" branch.

This is the repository for the open source version of Event Store. Binaries and information about the commercial, multi-node version can be found on the Event Store website at http://geteventstore.com.

##Building from Source

Event Store is written in a mixture of C#, C++ and JavaScript. It can run either on Mono or .NET, however because it contains platform specific code (including hosting the v8 JavaScript engine), it must be built for the platform on which you intend to run it. Binaries are available from http://geteventstore.com, however if you want to build it from source, instructions for Windows and Linux are below.

###Debug Builds on Windows / .NET

####Prerequisites

  • Visual Studio 2010 (with .NET 4 and 64-bit C++ support)
  • git on PATH
  • svn on PATH

####Environment

Either use a Visual Studio 2010 x64 Command Prompt, or run

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x64

####Download and build v8

src\EventStore\Scripts\v8\get-v8.cmd 

src\EventStore\Scripts\v8\build-v8_x64.cmd 

####Build the v8 integration code

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /p:Configuration=Debug;Platform=x64 src\EventStore\Projections.Dev.WindowsOnly.sln 

This step produces a file named js1.dll, which contains the projections framework. If you already have access to a suitable version of this file (e.g. from the binary distribution) you can proceed to step 4, having made it available in src\EventStore\libs\x64.

####Build the Event Store solution using 64-bit msbuild

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /p:Configuration=Debug;Platform="Any CPU" src\EventStore\EventStore.sln

NOTE: EventStore.sln has build configurations set up to be compatible with either xbuild or msbuild. Although named "Any CPU", it in fact targets x64 only.

###Debug Builds on Linux (Ubuntu 12.04) / Mono

####Prerequisites

  • Patched version of Mono on PATH
  • svn on PATH

You can get and build the patched version of Mono necessary for Event Store by running

.\src\EventStore\Scripts\get-mono-303p.sh

This script will install mono to /opt/mono, and must be run with root priviledges (since it installs packages via apt-get). However, the script will not add it to the PATH which must be done separately, such that mono --version outputs:

Mono JIT compiler version (EventStore patched build: ThreadPool.c) 3.0.3 ((no/39c48d5 Thu Feb 14 15:56:56 GMT 2013) (EventStore build)
Copyright (coffee) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug
	LLVM:          supported, not enabled.
	GC:            Included Boehm (with typed GC and Parallel Mark)

####Download and build v8

./src/EventStore/Scripts/v8/get-v8.sh 

./src/EventStore/Scripts/v8/build-v8.sh 

####Build the v8 integration code (libjs1.so)

./src/EventStore/Scripts/v8/build-js1.sh 

####Build the Event Store Solution

The Event Store solution can be build using either MonoDevelop or xbuild.

/opt/mono/bin/xbuild src/EventStore/EventStore.sln /p:Configuration=Debug /p:Platform="Any CPU"

About

The open-source, functional database with Complex Event Processing in JavaScript.

http://geteventstore.com

License:BSD 3-Clause "New" or "Revised" License