Giter Club home page Giter Club logo

eventstore's Introduction

#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"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.