Building and developing EDDiscovery
How to build/contribute to EDD.
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 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.
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.
See Linux and EDD
git checkout master
git branch New_Feature_Name
git fetch
git pull origin
git log -3
git status
git branch -v
git reset --hard (reset the code to the tip of the current branch losing all edits)
git push origin
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.
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:
(C) 2015-2023 EDDiscovery Team