Imports can read other project files and merge them as a sub-project into the current file. With this statement you can easily manage multiple projects while keeping track of shared resources.
main.yaml
:
project:
name: Main Project
start: 2020-06-01
imports:
- resources.yaml
- subproject.yaml
subproject.yaml
:
project:
name: Main Project
start: 2020-06-01
imports:
- resources.yaml
tasks:
- task: subtask1
name: My task
efforts: 2d
assign: dev
resources.yaml
:
resources:
- resource: dev
name: Developer
In this example, you can schedule subproject.yaml
on its own, but you can also schedule main.yaml
, which has subproject.yaml
imported and will schedule all tasks and resources of each imported project.
In case of clashing resources (i.e. resources with the same identifier coming from different files), the resource in the imported file will be discarded.
TaskFalcon
will make sure to detect import loops (e.g. file a.yaml
importing file b.yaml
and b.yaml
importing file a.yaml
).
It is possible to have a cascading hierarchy of imports over multiple files.
When importing tasks from a different project file, all task IDs will be prefixed with the name of the file. In the above examples subtask1
will have the full id subproject.subtask1
. This is necessary to avoid collisions.
Hint:
You can tell TaskFalcon
to only render tasks with a specific task ID prefix (e.g. subproject
).
With this feature, TaskFalcon
will schedule all tasks and resources for multiple projects, but only show the section project plan for a specific sub-project. See parameter -prefix
in the command line parameters description (includes examples).
TaskFalcon
to create one set of GANTT diagrams for each imported sub-project. See the parameter -sub-projects
in the command line parameters description (includes examples)