-
Notifications
You must be signed in to change notification settings - Fork 28
Contribute
This page contains information and instructions on contributing to Prajna project.
Prajna is authored using [F#](http://fsharp.org/). To learn F#, use the resources listed [here](http://fsharp.org/about/learning.html).The below assumes the knowledge of using Git, and Git has been properly installed and configured to use GitHub.
- Please read GitHub documentation on Contributing and Collaborating to understand the basic process on how to contribute to an open source project, such as Prajna.
- Fork MSRCCS/Prajna
- Work on features or bug fixes in contributor's fork.
-
Please add the following the following configuration is set for the cloned repo
core.eol = lfcore.autocrlf = inputIt can be done globally in [core] section of user's .gitconfig
-
Configure your editor to use LF as line endings. (Especially on windows)
- Once it is ready, submit a pull request for merging back to MSRCCS/Prajna.
- Sometimes, there might be trivial commits that should be squashed before creating the pull request. Please read here and here on how to do it.
- The pull request will be built by AppVeyor, reviewed, and merged when taken.
-
Prajna is using FAKE for build.
-
On Windows, please install Visual Studio 2015, then open VS 2015 Command Prompt (preferred, but normal cmd should work too), type
build
-
Useful build commands
- build, build Debug: clean build of DebugX64
- build Release: clean build of ReleaseX64
- build D: incremental build of DebugX64
- build R: incremental build of ReleaseX64
- Run Unit Tests
"build", "build Debug", and "build Release" will also run unit tests as part of the build. The UT uses NUnit, the runner of which still depends on .Net 2.0. If .Net 2.0 was not installed on the machine, there'll be a build error. To install .Net 2.0, please use Turn Windows features on or off, select ".Net Framework 3.5 (includes .Net 2.0 and 3.0).
Note: Prajna tests include component micro-benchmarks marked with the NUnit "Performance" category. Such tests are excluded from the build for speed, but are still run by the Run All Tests command in Visual Studio.
- Use Visual Studio 2015 to open Prajna.sln
- To build in VS, select "x64" in Solution Platforms drop-down, then build the solution.
- Unit test. Prajna uses NUnit as the test framework.
- To run/debug the tests in VS, please install NUnit Test Adapter for VS2015.
- In Test -> Test Settings -> Default Processor Architecture, select "x64"
- Open Test Explorer via Test -> Windows -> Test Explorer
- Rebuild the solution, the tests should show up in Test Explorer
- Other VS tips
- Enable parallel build for F# projects
- Visual F# Power Tools is very useful when working on F#.
- Strip'em helps maintain using LF as line ending
Prajna uses Paket for package management.
-
Add a new package: update paket.dependencies, then run paket update.
.paket\paket.exe update
-
Reference a package for a project. Edit/Add the paket.references file, then run paket update.
Contributors are effectively also users. Please refer to [Use Prajna](Use Prajna) for how to use Prajna with either [Local Cluster](Local Cluster) or a [deployment](Deploy Prajna) to a Windows cluster.
For discussions, questions, and feedback, please open new issues.