Skip to content

Commit 69545cb

Browse files
committed
Updating the README
1 parent ae61520 commit 69545cb

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

README.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,46 @@
88

99
Originally developed as a technical assessment for a job interview, this project received positive feedback, which led to its open-sourcing. The tool is inspired by industry-standard build systems like **[Cake Build](https://cakebuild.net/)**, **[MSBuild](https://github.com/dotnet/msbuild)**, and **[BuildGraph](https://dev.epicgames.com/documentation/en-us/unreal-engine/buildgraph-for-unreal-engine)**. It leverages a [Directed Acyclic Graph (DAG)](https://en.wikipedia.org/wiki/Directed_acyclic_graph) to define dependencies and enforce a logical execution order of tasks, facilitating complex build pipelines.
1010

11+
## Demonstration
12+
13+
The **build-automation-tool** can operate in two execution modes: **parallel** and **sequential**. Both modes utilize the task dependency graph but differ in how tasks with shared dependencies are executed.
14+
15+
- **Parallel Execution:** Allows tasks that have shared dependencies but are independent of each other to run concurrently. This mode optimizes runtime by leveraging available resources, reducing the overall build time.
16+
17+
- **Sequential Execution:** Ensures all tasks are executed one after another, maintaining a strict chronological order based on task dependencies. This mode is ideal for processes where tasks are interdependent or when parallel execution is unnecessary.
18+
19+
Below are animated demonstrations that show how tasks progress in each mode.
20+
21+
<div align="center">
22+
23+
### Parallel Execution
24+
25+
![Parallel](taskrunner-parallel.gif)
26+
27+
In parallel execution mode, tasks are grouped and executed concurrently whenever possible. Tasks with dependencies that do not conflict are run simultaneously, reducing build times.
28+
29+
### Sequential Execution
30+
31+
![Sequential](taskrunner-sequential.gif)
32+
33+
Sequential execution mode processes each task in strict dependency order, from start to finish. This ensures a reliable and controlled build process where tasks execute one at a time.
34+
35+
</div>
36+
37+
With **build-automation-tool**, developers can efficiently manage complex build workflows, streamline repetitive build tasks, and improve productivity by automating dependency-based execution. Whether you’re building small applications or handling large projects with intricate dependencies, this tool provides a flexible and powerful solution for automating your build pipeline.
38+
1139
## Table of Contents
1240

1341
- [build-automation-tool](#build-automation-tool)
42+
- [Demonstration](#demonstration)
43+
- [Parallel Execution](#parallel-execution)
44+
- [Sequential Execution](#sequential-execution)
45+
- [Table of Contents](#table-of-contents)
1446
- [Features](#features)
1547
- [Dependencies](#dependencies)
1648
- [Usage](#usage)
1749
- [Instructions](#instructions)
1850
- [Tool Structure](#tool-structure)
19-
- [Demonstration](#demonstration)
20-
- [Parallel Execution](#parallel-execution)
21-
- [Sequential Execution](#sequential-execution)
2251

2352
## Features
2453

@@ -53,31 +82,3 @@ Detailed usage instructions are available in [INSTRUCTIONS.md](INSTRUCTIONS.md).
5382
### Tool Structure
5483

5584
The *Tool* folder organizes the core source files for the **Build Automation Tool**. This folder includes the scripts and configurations necessary to execute build tasks as defined in the technical requirements. Each file is crafted to streamline the execution process, following the task dependencies outlined in the DAG.
56-
57-
## Demonstration
58-
59-
The **build-automation-tool** can operate in two execution modes: **parallel** and **sequential**. Both modes utilize the task dependency graph but differ in how tasks with shared dependencies are executed.
60-
61-
- **Parallel Execution:** Allows tasks that have shared dependencies but are independent of each other to run concurrently. This mode optimizes runtime by leveraging available resources, reducing the overall build time.
62-
63-
- **Sequential Execution:** Ensures all tasks are executed one after another, maintaining a strict chronological order based on task dependencies. This mode is ideal for processes where tasks are interdependent or when parallel execution is unnecessary.
64-
65-
Below are animated demonstrations that show how tasks progress in each mode.
66-
67-
<div align="center">
68-
69-
### Parallel Execution
70-
71-
![Parallel](taskrunner-parallel.gif)
72-
73-
In parallel execution mode, tasks are grouped and executed concurrently whenever possible. Tasks with dependencies that do not conflict are run simultaneously, reducing build times.
74-
75-
### Sequential Execution
76-
77-
![Sequential](taskrunner-sequential.gif)
78-
79-
Sequential execution mode processes each task in strict dependency order, from start to finish. This ensures a reliable and controlled build process where tasks execute one at a time.
80-
81-
</div>
82-
83-
With **build-automation-tool**, developers can efficiently manage complex build workflows, streamline repetitive build tasks, and improve productivity by automating dependency-based execution. Whether you’re building small applications or handling large projects with intricate dependencies, this tool provides a flexible and powerful solution for automating your build pipeline.

0 commit comments

Comments
 (0)