Skip to content

Building and developing EDDiscovery

Rob edited this page Sep 8, 2021 · 18 revisions

How to build/contribute to EDD.

Take a fork

The best way to contribute to EDDiscovery is to create a fork of the main project into your own github account, make changes in your local fork and push them back up as Pull Requests using git.

If you clone it into your own github account, when you check it out, you may need to do the submodule commands below.

Your fictional github account in these examples is called YOUR_GITHUB_NAME_HERE. Substitute that username for your own.

  • Login to your git account

  • Go to EDDiscovery page. Make your own fork. Do this from here:

https://github.com/EDDiscovery/EDDiscovery

  • Go to your clone repo page:

https://github.com/YOUR_GITHUB_NAME_HERE/EDDiscovery

  • In windows, execute:
md \code
cd \code
git clone https://github.com/YOUR_GITHUB_NAME_HERE/EDDiscovery.git
cd EDDiscovery
git remote add upstream https://github.com/EDDiscovery/EDDiscovery.git
git submodule init
git submodule update

Check the remote points by git remote -v . You should have an upstream (to eddiscovery) and origin (to you).

Git Direct checkout for just building

git clone https://github.com/EDDiscovery/EDDiscovery.git
cd EDDiscovery
git submodule init
git submodule update

The submodules are now at the tip, master commit, but in the detached head state. If you wish to change them, you'll need to first switch into the submodules folder (actionlanguage, extendedcontrols, baseutilities) and do git checkout master.

An alternative is use the git desktop app and it will do the above work for you.

Building in Windows

To build EDD, install visual studio community editions (2019 at this point in Sept 2021) with c# as one of the options. Open the .sln file you will find in the eddiscovery folder.

EDDiscovery should be the startup project. Right click on it if its not and select "Set as startup project"

Go to Nuget package manager, in Tools | Nuget packet manager | Manage Nuget Packages for Solution.

Hit the restore button on the very top line. This should get you the packages that you need to build EDD. There is no command line equivalent that works !

Right click on EDDiscovery and do rebuild all. It will fail the first time. Do it again. It will succeed. This is due to an autogenerated source file created by the build script. Once you've done it once, it will work first time forever more.

Hit F5 to run the program in Debug mode (check the toolbar is should say Debug build). It will ask for permission to debug. Give it permission, and you should be running.

Building in Linux

See Linux and EDD

Create a feature branch

git checkout master
git branch New_Feature_Name

Checking for any updates

git fetch
git pull origin

Other useful commands

git log -3
git status
git branch -v
git reset --hard (reset the code to the tip of the current branch losing all edits)

Push branch back to origin

git push origin

Git Pull Requests

Once you've developed the new feature, and pushed it back to your github, you can, from your github web page, create a PR to get the feature onto the EDDiscovery master branch.

Git

Figuring out Git can be a bit of a challenge to those more familiar with traditional server side SCMs like Subversion. It's probably easiest to try and forget everything you know, start again and work through a good tutorial.

My normal use is to use GitHub desktop to do most of the work on git in. Its more intuitive. I only use Git command line for more complicated things.

An example tutorial is:

http://gitimmersion.com/

Clone this wiki locally