Giter VIP home page Giter VIP logo

dev-setup's Introduction

CoLRev development environment setup

This document describes the setup of a development environment for the CoLRev project.

The setup includes:

  • Python3, pip
  • git
  • Docker
  • CoLRev
  • continuous integration (pre-commit hooks)
  • VisualStudio

A fully installed VirtualBox image is available here. If the link has expired, please contact Gerit Wagner.

The documentation can be used to set up the environment on other machines. Although we only support the VirtualBox/Ubuntu setup, useful hints for the setup on other machines can be contributed to this repository (issues or pull-requests).

After unpacking the VirtualBox Image, open the colrev_dev.vbox file in VirtualBox. To avoid performance issues, the following settings are recommended:

Settings - system - acceleration
- KVM recommended for Linux guests
- Hyper-V recommended for Windows guests

If you encounter any graphical glitches or errors, consider turning off 3D acceleration temporarily:
Settings - display - disable 3D acceleration

Start the machine, and log in (account: ubuntu, password: ubuntu). Before using the setup, please update your git credentials (using the shell / ctrl+alt+t) and pull the latest version of CoLRev:

git config --global user.name "Lisa Smith"
git config --global user.email "[email protected]"
git config --global credential.helper store
cd ~/Desktop/colrev
git pull

Create an SSH key pair and register the public key at Github (steps).

To activate copy-paste between the VM and your OS: Geräte → Gemeinsame Zwischenablage → bidirektional

To test colrev, open a Terminal (Alt+Ctrl+T), navigate to an empty directory, and run:

colrev init

Installation log

sudo apt-get install virtualbox-guest-additions-iso
sudo apt install git
sudo apt install gitk
sudo snap install --classic code
sudo apt install vim

sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo gpasswd -a $USER docker
newgrp docker

sudo apt install python-is-python3
sudo apt install python3-pip
python3 -m pip install --upgrade pip
python3 -m pip install poetry pytest-mock pylint pytest pre-commit
python3 -m pip install --upgrade paramiko


# Clone and install CoLRev on your Desktop
# Make sure you have registered your SSH key on GitHub beforehand
cd ~/Desktop
git clone [email protected]:geritwagner/dev-setup.git
git clone [email protected]:CoLRev-Environment/colrev.git
cd colrev
pip install -e .
poetry install --with dev
pre-commit install
pre-commit run --all

# Create a testfolder and try out CoLRev
cd ~/Desktop
mkdir test
cd test
colrev init --example
# Complete run to pull the Docker images, this may be time consuming
# the status operation will guide you through the whole process
colrev status

dev-setup's People

Contributors

geritwagner avatar dengdenglele avatar noriakisana avatar

Forkers

frxdericz

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.