Building
You will need the following to successfully build TaskCollect:
- Git
- Go 1.18+
- Python 3.9+
- Sass 1.57+
TaskCollect has very simple build and deployment mechanisms. To build everything automatically across multiple platforms (including managing resource dependencies), a Python build script is used. See build script for more information.
Simply clone this Git repository and run python3 build.py -u
(or py build.py -u
on Windows).
git clone https://codeberg.org/kvo/taskcollect.git
cd taskcollect
python3 build.py -u
git clone https://codeberg.org/kvo/taskcollect.git
cd taskcollect
py build.py -u
If all the build dependencies are installed and no errors occur, the folder prg/
should appear in the root folder of the repository, containing the executable program for the current system. The -u
flag in the build script additionally copies across the assets that are required to run TaskCollect from the res/
folder to $home/res/taskcollect
. For more information on how to use the build script, run python3 build.py help
To invoke the command on Unix-like systems (Linux, MacOS), invoke the script via python3 build.py
or chmod the script and invoke it via ./build.py
. It’s up to you, really. For Windows, invoke it via py build.py
, or if you are using Command Prompt, simply typing build
should run the script in most cases. For brevity, invocation of the script will be written as build.py
henceforth.
Use the help command (build.py help
) to see the list of supported platforms and available commands/options.
For convenience, the build script also has the option to copy across resources from the project’s res/
directory to ~/res/taskcollect/
:
- use
-u
to build the TaskCollect binary while also copying across resource files; OR - use
-U
to only copy resources files
Simply invoking the script with no arguments will build TaskCollect for the host system. For instance, if you are on 64-bit Windows, the script will automatically detect this and build for windows/amd64
:
To build for a specific OS and architecture, invoke using the following pattern:
build.py os/arch
Multiple OSes and architectures can be built at once. For example:
build.py windows/amd64 darwin/arm64 linux/amd64
TaskCollect currently supports Linux, MacOS, and Windows.
OS | Architecture |
---|---|
Linux (linux) | 386, amd64, arm, arm64 |
MacOS (darwin) | amd64, arm64 |
Windows (windows) | 386, amd64 |
To build executable programs for all major operating systems and CPU architectures, run build.py all
.
Compiling for all operating systems and architectures will take a while.