JD2022-TU1/main/tools/extern/TeaBox
2026-10-05 12:05:45 +03:00
..
Chocolatey А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
Doc А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
Extern А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
PluginStore А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
Sharpmake А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
Source А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
TestScripts А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
.gitignore А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
.gitlab-ci.yml А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
.p4ignore А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
CONTRIBUTING.md А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
GenerateSolutions.bat А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00
README.md А это уже второй коммит (сам проект) 2026-10-05 12:05:45 +03:00

Quality Gate Coverage

TeaBox

TeaBox is an awesome productivity tool designed to automate your repetitive day-to-day tasks through a comfortable inferface. You can use it "as is", by cherry-picking various example scripts from our PluginStore, but the best way to enjoy TeaBox is to build your own macros to fit your production needs.

TeaBox works for you while enjoy your tea

Video presentation

Enlish video: UDC 2016 Presentation

French video: [Link to video](https://videocdn01.ubisoft.org/prod/player/index.aspx?c=6l33t&s=public&bgcolor=#fff" frameborder="0" allowfullscreen="true") (Video is from TeaBuddy, the previous version of TeaBox)

Features

Powerful Macro Scripting for your project

[Macro]
[Description("Executes generateprojects.bat.")]
public void Generate_Projects(IExecutionContext context)
{
    var command = new BatchFileCommand("generateprojects.bat");
	command.Execute(context);
}

[Macro]
[Description("Compiles the Anvil solution.")]
public void Build_Anvil(IExecutionContext context, 
                        BuildOperation buildOperation = BuildOperation.Build, 
						DevEnvBuildVariant variant = DevEnvBuildVariant.Release)
{
	string solution = Path.Combine(RootFolder.Value, @"projects\win32\anvil.sln");
	string configuration = string.Format("{0}|Any CPU", variant);
	
	var command = new DevenvCommand(solution)
	{
		Operation = buildOperation,
		Configuration = configuration
	};

	command.Execute(context);
}

Create macros to automate tasks on your project, using a simple script workflow. All scripts are plain C# and can be created and updated without having to restart TeaBox. Script editing is done in Visual Studio to preserve the best IDE experience. TeaBox will automatically reload any modified scripts on-the-fly.

Macro Queuing and Playlists

Macros can be queued to achieve longer and more complex tasks. Groups of macros can be saved as playlists and shared among the team. Playlists can be scheduled to be run regularly or at later times.

For example, a playlist could:

  • Sync latest code
  • Run generateprojects.bat
  • Build guildlib.sln
  • Build scimitar.tool.dll.win64.2012.sln
  • Build scimitar.engine.win64.2012.sln
  • Build anvil.sln
  • Sync latest data
  • Binarize the data for PC, XBoxOne & PS4

while you enjoy a cup of tea (or during the night!).

Quick Run from anywhere

WinKey+O: Use it!

TeaBox provides a few global shortcuts to launch macros and playlists from anywhere, even when TeaBox is not focused:

  • WinKey+O (WinKey+Shift+O starting from Windows 8)
  • WinKey+Shift+B

The Quick Run bar can:

  • Queue macros and playlists
  • Launch common executables on your project
  • Open common web sites about your project (think jira, confluence or sharepoint!)
  • Find users
  • Be extended with your own shortcuts!

Branch management

If your project has to deal with multiple branches, TeaBox can help you! All macros/paths can easily be made branch-aware so that they act in the current branch. The current branch can be switched through the Quick Run bar or from a macro.

Usage & Installation

TeaBox is usually deployed as binaries + scripts on a project's perforce depot. This repository provides a barebone TeaBox installation and does not contain any project-specific scripts. However, a PluginStore folder is provided, with example scripts that you can re-use freely, by pasting them in your Binaries/Script folder.

Feel free to contact @jtdelorme or @fparadis2 if you want guidance on integrating TeaBox within your project/team.

If you come from the Perforce world and want a super quick idea on how Git works, check this interactive overview : https://try.github.io/levels/1/challenges/1 .

Latest unstable versions

If you want to quickly test TeaBox you can download latest compiled versions here: x64, Any CPU, win32

How to contribute

Check out CONTRIBUTING.md for more information on contributing to TeaBox.