docs/README.md

3.7 KiB

Remote Image Processing Documentation

This repository contains information on how to set up a development environment using free and open-source tools. This includes introductory information on Git, Rust, Java, and their associated tools. This repository does not contain information regarding an integrated development environment, or IDE. While Visual Studio Code is recommended, instructions will not be given on how to configure it.

Git

The most important tool this repository will document is git. Git is the most used version control system (or VCS) currently in use by software engineers. It allows for collaborative work on software by use of repositories and branches. For more explanatgion on exactly how git works, please see the linked tutorial.

To install git on a Windows system, visit the Git For Windows releases page, dowload the latest release, and follow the on-screen prompts to install. This will install Git Bash, along with a GUI for visualisation purposes. If you are on linux, use your distribution's package manager of choice to install Git.

Initial setup

To download a new git repository, open Git Bash (or, if on Linux, open a terminal), and run git clone [link to repository]. As an example, to download this repository, run git clone https://git.blizzard.systems/esd2-groupwork/docs.git. This will create a new folder containing the repository.

To contribute to the repository, you must first have an account on the site. Then, you can use your credentials to send commits to the repository (as defined by

Basic commands

There are a myriad of tutorials and tools available for using git, and we recommend you use whichever tool suits you best. However, the basic commands for the use of git should be known regardless of the tool being used, and are documented here for quick reference:

  • git add [filename]: Stage a file to be committed. Can include wildcards such as * and . as a valid filename.
  • git commit [-m <commit message>]: Commit all staged files [with a defined commit message]. If the -m flag is not used, git will open a text editor to allow you to create a commit message before finishing the commit.
  • git push: "push" local commits from your computer to the remote repository.
  • git fetch: "Fetch" commits from the remote repository.
  • git pull: Imports the fetched commits into your local repository. [Implies git fetch]
  • git status: outputs the current state of your local git repository, including branch, staged changes, unstaged changes, and last-known status of the remote repository.
  • git rm [filename]: Delete a file from the git repository.
  • git checkout [branch/tag name]: Change to the tagged commit, or switch to the named branch.

Rust

Rust is a relatively new language, and as such has a very modern way of installing. Simply navigate to their install site https://rustup.rs/, and follow the instructions listed.

Once installed, open a terminal (Git Bash is recommended on Windows), and run the following: rustup target add armv7-unknown-linux-musleabi This will install the required libraries for cross-compilation.

Java

Java is easily installed from Oracle's official website, linked here for convenience. JDK21 is recommended, however not explicitly required. Java is also available in most Linux package management systems.

Maven

Maven is a build program that links with Java's Development Kit (JDK) to build Java-based programs. It can be downloaded from Apache's offical download page, linked here for convenience. Maven is also available in most Linux package management systems.