Skip to content

Contributing

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

Where to start?

If you are looking for a good issue to start with, please check the following:

  • good first issue - issues that should be pretty simple to implement,
  • help wanted - issues that typically are a bit more involved than beginner issues,
  • high priority - things to fix ASAP but often of higher complexity.

Source

To build from source on your local machine, please follow the instructions below:

Clone the repository

git clone https://github.com/EndstoneMC/endstone.git
cd endstone

Install the package manager (conan)

The dependencies needed for the development of Endstone are provided Conan Package Manager (>=2.0). The install the package manager, run the following commands in your Python environment.

pip install conan
conan profile detect

Install dependencies

First of all, run the following commands to install dependencies of this project:

conan install . --build=missing -s compiler.cppstd=17 -s build_type=RelWithDebInfo -c tools.cmake.cmaketoolchain:generator=Ninja
conan install . --build=missing -s compiler.cppstd=17 -s build_type=RelWithDebInfo -c tools.cmake.cmaketoolchain:generator=Ninja -c tools.env.virtualenv:powershell=True
conan install . --build=missing -s compiler.cppstd=17 -s compiler.libcxx=libc++ -s build_type=RelWithDebInfo -c tools.cmake.cmaketoolchain:generator=Ninja

Now, activate the build virtual environment create by conan.

.\build\RelWithDebInfo\generators\conanbuild.bat
.\build\RelWithDebInfo\generators\conanbuild.ps1
source ./build/RelWithDebInfo/generators/conanbuild.sh

Run cmake and check the version:

$ cmake --version
cmake version 3.22.6

Build with CMake

cmake --preset conan-relwithdebinfo
cmake --build --preset conan-relwithdebinfo

Install

To install Endstone from your local sources, simply run:

pip install -U .

Documentation

We are building our documentation using Material for MkDocs. The easiest way to install all the required dependencies is with pip:

pip install -r docs/requirements.txt

After that, you can either:

mkdocs serve
mkdocs build

Comments