Dev:Dragon

Overview
DragonBuild consists of 2 main components:


 * A packaging system
 * A ninja buildfile generator

It uses Theos components for logos processing, but does not require an existing theos installation.

Prerequisites
Requires,  , and

python3 requires modules.

Installation
Add the following to your shell's profile

Optionally, you can set an IP or name to install to via  or

Usage
Dragon projects are configured via a single DragonMake file, regardless of how many subprojects you have.

You can specify subprojects and their information here. This allows for compiling slices in parallel easily, along with keeping things much more organized.

DragonMake Syntax
DragonMake follows fairly standard YAML syntax, with a singular escape character,.

For single line variables, you can use bash syntax to evaluate a command with

A single  denotes a ninja variable. For using bash syntax in variables, one can use  to represent a. For example, one could use  to get the value of an environment variable in a command.

Using the below items will parse output through xargs and add entries to the list the item is in:  will find all files in a specific directory.

is also provided, in the event more complex manipulation is needed.

Example Project
This should serve as a guideline for how a project should be laid out. You can declare as many projects as you want, it's all going to be crammed into the same deb.

DragonMake Variables
Please pay attention to the provided example to understand how these should be laid out in a file.

Yaml parsing is done via python3.

DragonBuild Command Line Arguments
All of these can be combined and ran at the same time, if needed.

Building and Installing your Tweak
All of these arguments can be specified using only the first character ( for example)

to build ( also works)

to install.

combines both of these.

loads  after loading , allows for setting variables specific to release builds.

performs a clean rebuild of the entire project and subprojects.